C#向Sql数据库插入空值的控制

 1  string name = textBox1.Text;
 2             int age = Convert.ToInt32(textBox2.Text.Trim());
 3             int? height = textBox3.Text.Trim().Length == 0 ? null : (int?)Convert.ToInt32(textBox3.Text.Trim());
 4             bool? gender = textBox4.Text.Trim().Length == 0 ? null : (bool?)Convert.ToBoolean(textBox4.Text.Trim());
 5 
 6             string sql = "insert into TblPerson values(@name,@age,@height,@gender)";
 7             SqlParameter[] pms = new SqlParameter[] { 
 8             new SqlParameter("@name",SqlDbType.NVarChar,50){ Value=name},
          //这里最好不要简写new SqlParameter("@age",age),这样容易把age的值,当做某个枚举的值,因这个方法有重载
9 new SqlParameter("@age",SqlDbType.Int){ Value=age},
          
10 11 //向数据库中插入null值,不能直接使用C#中的null,必须使用DBNull.Value 12 new SqlParameter("@height",SqlDbType.Int){ Value=height==null?DBNull.Value:(object)height}, 13 new SqlParameter("@gender",SqlDbType.Bit){ Value=gender==null?DBNull.Value:(object)gender} 14 }; 15 _02封装SqlHelper类.SqlHelper.ExecuteNonQuery(sql, pms); 16 MessageBox.Show("插入成功!");

 在Ado.net中 从数据库中读出的数据 判断是否为空

  Console.Write(reader.IsDBNull(3) ? "NULL" : reader.GetInt32(3) );

posted @ 2016-01-21 17:11  南潇湘  阅读(3378)  评论(0编辑  收藏  举报