[英]How to handle a syntax error in an Access INSERT statement and a .NET DataGridView control?
[英]Error with Insert in Datagridview
我有一个带有“Code”列的usersdataTable我设置为PK并在MySql DB中自动递增“true”。
我希望用户在数据网格视图上填写名字,姓氏,用户名等的值,但不能输入代码值。
我有这个代码用于更新/插入:
private void usersBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
try
{
if (dgvUsers.RowCount > 0)
{
for (int i = 1; i <= dgvUsers.RowCount; i++)
{
var code = dgvUsers.Rows[i].Cells[0].Value.ToString();
if (code == string.Empty)
{
// add users
this.usersTableAdapter.Insert(
dgvUsers.Rows[i].Cells[1].Value.ToString(),
dgvUsers.Rows[i].Cells[2].Value.ToString(),
dgvUsers.Rows[i].Cells[3].Value.ToString(),
GlobalClass.MD5Hash(dgvUsers.Rows[i].Cells[4].Value.ToString()),
DateTime.Now,
null
);
}
else
{
// edit users
this.usersTableAdapter.Update(this.eko_payrollDataSet.users);
}
}
}
MessageBox.Show("Details Updated Successfully");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
表结构:
Code int NN PK Autoincrement
firstName Varchar NN
lastName Varchar NN
userName Varchar NN
password varchar NN
created datetime NN
modified datetime Null?
我将datagridview从创建绑定源的数据集拖到表单中。 当我按+按钮添加新行并完成输入值后,当我将光标移动到另一行或尝试在此下面添加一行时,我得到NoNullAllowedExeption for column Code
的NoNullAllowedExeption for column Code
。
我需要做些什么来解决这个问题? 我没有添加会导致此问题的验证代码。
我在这里遇到了同样的问题http://www.databaseforum.info/5/857494.aspx
当您的PK是自动增量列时,DataSet中的关联列应具有正确的AutoIncrement和AutoIncrementSeed,否则您应该能够在数据集设计器中设置它们。
这是一个类似于你的问题,看看你是否能找到有用的东西。
我认为你的问题很少,你可以举一个例子,或者把数据集/数据表和gridview的所有属性放在一起。
祝好运。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.