Problem z danymi z bazy

0

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....

0

Float w sql serwerze to double w C# ;)

http://msdn.microsoft.com/en-us/library/ms131092.aspx

0

:D

Jakie to proste, dzięki :)

0

Z bazami dancyh nie pracowałem, ale może coś takiego zadziała:

float.Parse(_student_mstr.Rows[i][2].ToString());

Droga trochę okrężna ale pÓÓÓÓki co powinno działać, chyba :)

UUU, strasznie wolno piszę :) ja tu sie męczę a odpowiedź już jest. Zapomnij o obejściu

1 użytkowników online, w tym zalogowanych: 0, gości: 1