У меня есть класс называется querys, а внутри него у меня есть функция, как код нижеошибки в данных для вставки в базу данных доступа
public void insertdata(int x1, string x2, string x3, int x4, string x5)
{
try
{
string insert = string.Format("insert into [customer] ([cust_id],[cust_arabic_name],[cust_english_name],[cust_mobile],[cust_address]) values ('{0}','{1}','{2}','{3}','{4}')",x1, x2, x3, x4, x5);
OleDbCommand cmd = new OleDbCommand(insert,mf.con);
cmd.ExecuteNonQuery();
MessageBox.Show("new data added");
}
catch (System.InvalidOperationException ex)
{
MessageBox.Show(ex.Message);
}
}
и на моей форме имеет следующий код внутри кнопки
query.insertdata(int.Parse(Id_TBox.Text + ""), A_Name_TBox.Text + "", E_Name_TBox.Text + "", int.Parse(Mobile_TBox.Text + ""), Address_TBox.Text + "");
Я изменил максимальную длину Id_TBox (9), а максимальная длина Mobile_TBox - (10).
сейчас, когда я пытаюсь вставить данные, отображается ошибка (значение было слишком большим или слишком малым для int32).
Я изменяю его на десятичный, но ошибка возвращается снова.
Любая помощь, пожалуйста,
Только один вопрос: int.Parse (Id_TBox.Text + ""), Why + ""? – Koen
для преобразования Id_TBox inupt в целое число и «», если кнопка пробела ввода данных по ошибке будет проигнорирована –
Есть ли [cust_mobile] номер телефона? Если да, может ли он когда-либо быть больше, чем 2147483647? Это объясняет, почему он не вписывается в 'Int32'. Вы должны хранить телефонные номера в базе данных как 'string', а не' int'. –