Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с добавлением, просит конвертировать в INT 
:(
    Опции темы
Doss
Дата 2.7.2008, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 5.10.2007

Репутация: нет
Всего: нет



Aloha уважаемые программисты!
проблемка с добавлением, есть главная форма на которой можно добавить, обновить, изменить данные в DAtaGridView
но добавление происходть через форму где все необходимые элементы есть, но вот выдает ошибку что нужно конвертировать из String в int. 
Вот код события добавить
Код

//Добавление новой записи
        private void btnInput_Click(object sender, EventArgs e)
        {
            InsertForm frm = new InsertForm(ds);
            if (frm.ShowDialog() == DialogResult.OK)
            {
                try
                {

                    DataRow rows = ds.Tables["DocsMe"].NewRow();


                    rows["OutNumber"] = Int32.Parse ( frm.txtOutNumber.Text);
                    rows["Date"] = frm.dtpDate.Value;
                    rows["Income"] =  frm.txtIncome.Text;
                    rows["Content"] = frm.txtContent.Text;
                    rows["KolichestvoEkz"] =frm.nudKolichestvoEkz.Value;
                    rows["NimerEkz"] = frm.nudNimerEkz.Value;
                    rows["KolichListov"] = frm.nudKolichListov.Value;
                    rows["KomuPeredan"] = frm.txtKomuPeredan.Text;
                    rows["IncomNumber"] = Int32.Parse(frm.txtIncomNumber.Text);
                    rows["OutMeNumber"] = Int32.Parse(frm.txtOutMeNumber.Text);

                    ds.Tables["DocsMe"].Rows.Add(rows);
                    
                    da.Update(ds, "DocsMe");
                    ds.Dispose();
                    ds = new DataSet();
                    da.Fill(ds, "DocsMe");
                    dgv.DataSource = ds.Tables[0];
                    

                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, ex.Source);
                }
            }
        }


а вот код при обновлении, так как именно при update вылетает искл.
Код

//Обновление базы данных
            da.UpdateCommand = new OleDbCommand("update DocsMe set OutNumber=@OutNumber,Date=@Date,Income=@Income,Content=@Content,KolichestvoEkz=@KolichestvoEkz,NimerEkz=@NimerEkz,KolichListov=@KolichListov,KomuPeredan=@KomuPeredan,IncomNumber=@IncomNumber,OutMeNumber=@OutMeNumber where ID=&ID", conn);
            da.UpdateCommand.CommandType = CommandType.Text;

            param = da.UpdateCommand.Parameters.Add(new OleDbParameter("@ID", OleDbType.Integer));
            param.SourceColumn = "ID";
            param.SourceVersion = DataRowVersion.Current;

            param = da.UpdateCommand.Parameters.Add(new OleDbParameter("@OutNumber", OleDbType.Integer));
            param.SourceColumn = "OutNumber";
            param.SourceVersion = DataRowVersion.Current;

            param = da.UpdateCommand.Parameters.Add(new OleDbParameter("@Date", OleDbType.Date));
            param.SourceColumn = "Date";
            param.SourceVersion = DataRowVersion.Current;

            param = da.UpdateCommand.Parameters.Add(new OleDbParameter("@Income", OleDbType.Integer));
            param.SourceColumn = "Income";
            param.SourceVersion = DataRowVersion.Current;

            param = da.UpdateCommand.Parameters.Add(new OleDbParameter("@Content", OleDbType.Char));
            param.SourceColumn = "Content";
            param.SourceVersion = DataRowVersion.Current;

            param = da.UpdateCommand.Parameters.Add(new OleDbParameter("@KolichestvoEkz", OleDbType.Integer));
            param.SourceColumn = "KolichestvoEkz";
            param.SourceVersion = DataRowVersion.Current;


            param = da.UpdateCommand.Parameters.Add(new OleDbParameter("@NimerEkz", OleDbType.Integer));
            param.SourceColumn = "NimerEkz";
            param.SourceVersion = DataRowVersion.Current;


            param = da.UpdateCommand.Parameters.Add(new OleDbParameter("@KolichListov", OleDbType.Integer));
            param.SourceColumn = "KolichListov";
            param.SourceVersion = DataRowVersion.Current;


            param = da.UpdateCommand.Parameters.Add(new OleDbParameter("@KomuPeredan", OleDbType.Char));
            param.SourceColumn = "KomuPeredan";
            param.SourceVersion = DataRowVersion.Current;


            param = da.UpdateCommand.Parameters.Add(new OleDbParameter("@IncomNumber", OleDbType.Integer));
            param.SourceColumn = "IncomNumber";
            param.SourceVersion = DataRowVersion.Current;


            param = da.UpdateCommand.Parameters.Add(new OleDbParameter("@OutMeNumber", OleDbType.Integer));
            param.SourceColumn = "OutMeNumber";
            param.SourceVersion = DataRowVersion.Current;

Благодарен за помощь и покажить как изменять на существующей записи smile 
PM MAIL   Вверх
informatik
Дата 2.7.2008, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 4.11.2007

Репутация: 1
Всего: 6



Вообще конечно код хреноватый(без обид).... ну это в общем...

А по существу может ошибкав запросе...

Цитата

where ID=&ID



Вместо &ID должно быть @ID... 
--------------------
namespace informatik
PM MAIL   Вверх
Doss
Дата 3.7.2008, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 5.10.2007

Репутация: нет
Всего: нет



Ща попробую, спосибо за замечание, только учусь работать
PM MAIL   Вверх
Doss
Дата 3.7.2008, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 5.10.2007

Репутация: нет
Всего: нет



Нет не помагло, меняю оно никак не влияет...
PM MAIL   Вверх
informatik
Дата 3.7.2008, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 4.11.2007

Репутация: 1
Всего: 6



А в ошибке то неуказано место возникновения???
--------------------
namespace informatik
PM MAIL   Вверх
Doss
Дата 3.7.2008, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 5.10.2007

Репутация: нет
Всего: нет



Место ошибки в da.Update(ds, "DocsMe");
, проблема решена, поле Date выдает ошибку, без нее все нормально, возможно, надо значение по умолчанию но как пока не догнал, спасибо за участие
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0652 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.