我是C#的新手,如果这是一个简单的问题,对不起。 我有一个通过MS-Access连接到我的数据网格的数据库。我让用户输入信息并将其保存到数据库中。我遇到一个问题,其中“卡号”不能为16位数字,因为它会引发数据类型错误。预先谢谢你!
OleDbCommand updateQuery = new OleDbCommand("INSERT INTO Profiles ([PROFILE NAME],[LOGIN EMAIL],[PASSWORD],[FULL NAME],[CARD NUMBER],[EXP MONTH],[EXP YEAR],CVV) VALUES(@name1,@email,@pass,@name2,@card,@expm,@expy,@cvv)", connection);
updateQuery.Parameters.Add("@name1", OleDbType.Variant).Value = textBox4.Text; //Profile Name
updateQuery.Parameters.Add("@email", OleDbType.Variant).Value = textBox2.Text; //Email
updateQuery.Parameters.Add("@pass", OleDbType.Variant).Value = textBox3.Text; //Pass
updateQuery.Parameters.Add("@name2", OleDbType.Variant).Value = textBox1.Text; //Full Name
updateQuery.Parameters.Add("@card", OleDbType.VarNumeric).Value = textBox5.Text; //CardNumber
updateQuery.Parameters.Add("@expm", OleDbType.Numeric).Value = comboBox1.Text; //EXPMonth
updateQuery.Parameters.Add("@expy", OleDbType.Numeric).Value = comboBox2.Text; //EXPYear
updateQuery.Parameters.Add("@cvv", OleDbType.Numeric).Value = textBox7.Text; //CVV
updateQuery.ExecuteNonQuery();
connection.Close();
MessageBox.Show("Profile Saved");
this.Close();
RefreshDBConnection();
注意:我将代码更改为:
updateQuery.Parameters.Add("@card", OleDbType.VarNumeric).Value = textBox5.Text; //CardNumber
,现在它会引发溢出错误。不知道发生了什么。