错误消息图片:
public partial class frmDealerForm : Form
{
DataTable t;
DataRow r;
public frmDealerForm()
{
InitializeComponent();
}
private void btnSave_Click(object sender, EventArgs e)
{
t = kalliskaBillingDataSet.Tables["DealerDetail"];
r = t.NewRow();
r[0] = txtdealerID.Text;
r[1] = txtname.Text;
r[2] = txtaddress.Text;
r[3] = txtphoneno.Text;
//Column 'DealerID' does not allow nulls//
t.Rows.Add(r);
dealerDetailTableAdapter.Update(kalliskaBillingDataSet);
txtdealerID.Text = System.Convert.ToString(r[0]);
MessageBox.Show("Data Saved", "DealerDetail", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
答案 0 :(得分:0)
您可以尝试使用以下代码:
r[0] = txtdealerID.Text ?? String.Empty;
r[1] = txtname.Text ?? String.Empty;
r[2] = txtaddress.Text ?? String.Empty;
r[3] = txtphoneno.Text ?? String.Empty;
这将确保它不为空。
另外,请确保索引正确。 0,0,1,2似乎不对。
此外,如果您使用ORM(Linq to SQL,Entity Framework),请确保它已更新。
答案 1 :(得分:0)
在您的数据表中,DealerId列设置了属性
DealerId.AllowDBNull = False
。这就是您收到错误的原因。
你可能正在为r [0]传递一个空值,当设置了上述属性时你就无法做到这一点。