Przyjaciele programmmerzy, otóż nie mogę sobie poradzić z następującym problemem. Najpierw kod a później opowiem historie...
private bool checkData()
{
bool _toReturn = true;
if (!double.TryParse(textBoxAvg.Text, out _avg))
{
MessageBox.Show("Niepoprawny format w polu średnia", "Informacja", MessageBoxButtons.OK, MessageBoxIcon.Information);
_toReturn = false;
}
return _toReturn;
}
private void addRecord()
{
_student_mstr = new Praca.DatabaseDataSetTableAdapters.student_mstrTableAdapter();
try
{
_student_mstr.InsertQuery(textBoxName.Text, _birth, _avg, textBoxCity.Text);
MessageBox.Show("Dodawanie studenta " + textBoxName.Text + " zakończone!", "Informacja", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Informacja", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
Tutaj dodawanie rekordu do bazy danych
private void showStudents()
{
int qty;
dataGridView.Rows.Clear();
if (_createNewStudentTable)
{
_student_mstr.Clear();
_student_mstr = _student_mstrTA.GetData();
_students = null;
qty = (int)_student_mstrTA.ScalarQuery();
_students = new TStudent[qty];
for (int i = 0; i < qty; i++)
{
_students[i] = new TStudent((string)_student_mstr.Rows[i][0], (DateTime)_student_mstr.Rows[i][1], (decimal)_student_mstr.Rows[i][2], (string)_student_mstr.Rows[i][3]); // tutaj problem z rzutowaniem
}
_createNewStudentTable = false;
radioButtonNo.Checked = true;
radioButtonYes.Checked = false;
}
foreach (TStudent s in _students)
dataGridView.Rows.Add(new object[] { s.Name, s.Birth.ToLongDateString(), s.Avg, s.City });
}
a tutaj moja próba wydobycia danych, przepisania do DataGrida i zrobienia innych rzeczy które mi są potrzebne...
Problem polega na tym, że nie mam pojęcia jak mam wydobyć z bazy wartość z pola typu float,
dokładnie problem dotyczy miejsca:
(decimal)_student_mstr.Rows[i][2]
i w tym miejscu dostaje InvalidCastException
Specified cast is not valid
Metody wygenerowane do operacji na bazie danych są poprawne, wszystkie typy się zgadzają,
kombinowałem na różne sposoby z różnymi typami zmiennoprzecinkowymi ale bez rezultatu...
pomocy....