c# - 如何将 NULL 值插入数据库

标签 c# sql-server ado.net

当我点击一个按钮时,它应该保存我对数据库所做的更改,这是按钮的代码:

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 !");
        }

我的问题是:如果文本 Controller 为空,我如何将 NULL 值插入数据库

最佳答案

DBNull.Value 传递给数据库:

drow[11] = string.IsNullOrWhitespace(stage.SelectedItem)
           ? (object) stage.SelectedItem.ToString() 
           : DBNull.Value;

关于c# - 如何将 NULL 值插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11702618/

相关文章:

c# - 有没有办法压缩内存中的对象并透明地使用它?

c# - 获取 "belong"到当前文化的字符列表

c# - MVC 5 过滤器中的异步错误处理

不存在的 SQL 查询

c# - 包装 ADO.net 的替代方案

c# - 想要使用一种方法从foreach返回列表并返回所有项目,但是我得到: (collection)

sql - SQL Server 2008 R2 中父/子类型记录的完整路径转储列表

sql-server - 根据列查找日期范围

mysql - 工作单元的副作用可以用 TransactionScope 修复,但不适用于 MySql.Data

c# - 如何确定它是否是参照完整性违规异常