[英]How can i insert NULL values to a database
当我点击一个按钮时,它应该保存我对数据库所做的更改,这是按钮的代码:
DataRow drow = sql.ds.Tables["Stagiaire"].NewRow();
Boolean allowAdd = false;
if (nom.Text != "" && prenom.Text != "")
allowAdd = true;
if (allowAdd)
{
drow[1] = imgData;
drow[2] = nom.Text.ToUpper();
drow[3] = prenom.Text;
drow[4] = sexe.SelectedItem.ToString();
drow[5] = naiss.Text;
drow[6] = email.Text;
drow[7] = tele.Text;
drow[8] = adresse.Text;
drow[9] = niveau.Text;
drow[10] = filiere.Text;
drow[11] = stage.SelectedItem.ToString();
drow[12] = service.SelectedItem.ToString();
drow[13] = encadrant.SelectedItem.ToString();
drow[14] = etablissement.SelectedItem.ToString();
sql.ds.Tables["Stagiaire"].Rows.Add(drow);
SqlCommandBuilder cmb = new SqlCommandBuilder(daStagiaire);
daStagiaire.Update(sql.ds, "Stagiaire");
XtraMessageBox.Show("Bien Ajouter !");
}
我的问题是:如果文本控制器为空,我如何将NULL值插入数据库
将DBNull.Value
传递给数据库:
drow[11] = string.IsNullOrWhitespace(stage.SelectedItem)
? (object) stage.SelectedItem.ToString()
: DBNull.Value;
对于每个字段,您需要检查字符串是否包含值。 如果它有一个值,则传递该值,如果它没有值,则传递NULL。
drow[1] = string.IsNullOrWhitespace(imgData)
? (object) imgData : DBNull.Value;
drow[2] = string.IsNullOrWhitespace(nom.Text)
? (object) nom.Text.ToUpper : DBNull.Value;
...对其余项目执行相同的逻辑。
在这里我使用单行IF THEN语句。 看看One-liner if语句,如何转换这个if-else语句以获取更多信息。
你可以使用dbnull.value
但请确保在获取此空值时,添加适当的null检查
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.