SQL Server Express中的默认值或绑定属性不起作用
本文关键字:绑定 属性 不起作用 默认值 Server Express SQL | 更新日期: 2023-09-27 18:19:52
我几乎完成了代码,但SQL中的默认值或绑定有问题。
这是我的数据库:
- *Date_Contact DateTime*(默认值为
getdate()
) Readed, Status bit
(默认值为0
)
所有这些都可以为null。
这是我的代码:
protected void btnSendMess_Click(object sender, EventArgs e)
{
try {
ContactUs contact_us = new ContactUs();
contact_us.FullName = txtName.Text;
contact_us.Email = txtEmail.Text;
contact_us.Subject = txtSubject.Text;
contact_us.Message = memoMess.Text;
db.ContactUs.InsertOnSubmit(contact_us);
db.SubmitChanges();
lblNotice.Text = "Your message sent successfully! Thank you";
}
catch (Exception) {
Response.Write("Error! Check your message again");
}
}
当我签入数据库时,Date_Contact
、Readed
和Status
是NULL
。。。我的代码出了什么问题?
问题是您要插入到DB中的对象已经包含这些列的值。即使它们都设置为null,从DB的角度来看,它仍然是绝对有效的值,这就是为什么插入null时忽略默认值的设置。
若要解决此问题,请将这些属性标记为"自动生成"(在LINQ模型设计器中设置相应的属性,或添加Column属性参数IsDbGenerated=true
)。