我几乎完成了我的代码,但我在SQL中遇到了默认值或绑定问题。
这是我的数据库:
getdate()
)Readed, Status bit
(默认值为0
)所有这些都可以为空。
这是我的代码:
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
...我的代码出了什么问题?
答案 0 :(得分:1)
问题是您插入到数据库中的对象已包含这些列的值。尽管它们都设置为null,但从DB的角度来看它仍然是绝对有效的值,这就是为什么插入空值而忽略默认设置。
要解决此问题,请将这些属性标记为自动生成(在LINQ模型设计器中设置相应的属性,或添加列属性参数IsDbGenerated=true
)。