当文本框为空时,将null值插入数据库
本文关键字:null 插入 数据库 文本 | 更新日期: 2023-09-27 18:30:10
我在Asp.net页面中使用LINQ访问数据库。
我有一个带有一些文本框和提交按钮的表单,在用户看到表单之前,所有文本框都是空的,代码是:
txtPName.Text =null;
txtPFamily.Text = null;
txtPUsername.Text = null;
txtPPassword.Text = null;
点击按钮后,值插入数据库中,但如果文本框为空,我希望null
值插入数据库,但在数据库中插入空值:
Users u = new Users()
{
FirstName = txtPName.Text,
LastName = txtPFamily.Text,
Username = txtPUsername.Text,
Password = txtPPassword.Text
};
您可以使用条件运算符。由于Text
属性从不返回null
,因此可以安全地检查它们的Length是否为0(文本为空):
Users u = new Users()
{
FirstName = txtPName.Text.Length == 0 ? null : txtPName.Text,
LastName = txtPFamily.Text.Length == 0 ? null : txtPFamily.Text,
Username = txtPUsername.Text.Length == 0 ? null : txtPUsername.Text,
Password = txtPPassword.Text.Length == 0 ? null : txtPPassword.Text
};
如果您还想将空白视为"空",请使用String.IsNullOrWhiteSpace
,例如:
FirstName = String.IsNullOrWhiteSpace(txtPName.Text) ? null : txtPName.Text
您可以使用字符串。IsNullOrEmpty或字符串。IsNullOrWhiteSpace方法来检查您的TextBox值。
//这将把文本框的字符串设置为值(如果有值的话)或空
string yourValueToPutIntoDatabase = (string.IsNullOrEmpty(yourTextBox.Text)) ? yourTextBox.Text : null;
如果你更舒服的话,你也可以在if语句中使用它:
string valueToPutInDatabase;
if(string.IsNullOrEmpty(yourTextBox.Text))
{
//Your textbox was empty
valueToPutInDatabase = null;
}
else
{
valueToPutInDatabase = yourTextBox.Text;
}
试试这个。。
尝试这个
if(txtPName.Text==""){
u.FirstName =null;
}
if(txtPFamily.Text==""){
u.LastName =null;
}
if(txtPUsername.Text==""){
u.Username =null;
}
if(txtPPassword.Text==""){
u.Password =null;
}