private void button1_Click(object sender, EventArgs e)
{

string name = textBox1.Text;
int age = Convert.ToInt32(textBox2.Text.Trim());
int? height = textBox3.Text.Trim().Length == 0 ? null : (int?)Convert.ToInt32(textBox3.Text.Trim());
bool? gender = textBox4.Text.Trim().Length == 0 ? null : (bool?)Convert.ToBoolean(textBox4.Text.Trim());

string sql = "insert into TblPerson values(@name,@age,@height,@gender)";
SqlParameter[] pms = new SqlParameter[] {
new SqlParameter("@name",SqlDbType.NVarChar,50){ Value=name},
new SqlParameter("@age",SqlDbType.Int){ Value=age},

//向数据库中插入null值,不能直接使用C#中的null,必须使用DBNull.Value
new SqlParameter("@height",SqlDbType.Int){ Value=height==null?DBNull.Value:(object)height},
new SqlParameter("@gender",SqlDbType.Bit){ Value=gender==null?DBNull.Value:(object)gender}
};
_02封装SqlHelper类.SqlHelper.ExecuteNonQuery(sql, pms);
MessageBox.Show("插入成功!");

}

使用带参数的SQL语句向数据库中插入空值的更多相关文章

  1. 通过带参数的Sql语句来实现模糊查询(多条件查询)

    #region 通过带参数的Sql语句来实现模糊查询(多条件查询) StringBuilder sb = new StringBuilder("select * from books&quo ...

  2. SQL语句获取数据库中的表主键,自增列,所有列

    SQL语句获取数据库中的表主键,自增列,所有列   获取表主键 1:SELECT TABLE_NAME,COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_U ...

  3. SQL语句 在一个表中插入新字段

    SQL语句 在一个表中插入新字段: alter table 表名 add 字段名 字段类型 例: alter table OpenCourses add Audio varchar(50)alter ...

  4. .Net ADO拼接带参数的SQL语句

    首先是在DAL数据访问层中的代码://数据更新的方法public static int shuxing_update(s_passnature model) { string sql = " ...

  5. laravel 中的 toSql 获取带参数的 sql 语句

    默认情况下,toSql 获取到的 sql 里面的参数使用 "?" 代替的,如下: DB::table('user')->where('id', 1)->toSql(); ...

  6. SqlParameter类——带参数的SQL语句

    http://blog.csdn.net/woshixuye/article/details/7218770 SqlParameter 类 表示 SqlCommand 的参数,也可以是它到 DataS ...

  7. ADO.NET中带参数的Sql语句的陷阱

    1.使用Parameter //利用构造函数方式 ,不推荐这样写 Parameter p =new Parameter("@id",值); cmd.Parameters.Add(p ...

  8. 利用SQL语句查询数据库中所有表

    Oracle: SELECT * FROM ALL_TABLES;系统里有权限的表 SELECT * FROM DBA_TABLES; 系统表 SELECT * FROM USER_TABLES; 当 ...

  9. SQL语句在数据库中是如何执行的

    第一步:应用程序把查询SQL语句发给服务器端执行 我们在数据层执行SQL语句时,应用程序会连接到相应的数据库服务器,把SQL语句发送给服务器处理. 第二步:服务器解析请求的SQL语句 SQL计划缓存, ...

随机推荐

  1. web Servise(服务)

    服务层:对项目的业务层(业务层调用数据层)的一个包装成对外的服务,是的UI展示可以从单一的WEB扩展为移动端可WINDFROM端等,这叫做面向服务的编程思想. 发布:和网站发布也是一样的. //web ...

  2. 【转】Provisional headers are shown

    在chrome开发者工具的 Network 面板中,某些请求头后面会跟着下面这行文字: Provisional headers are shown 这种请求实际上根本没有产生,对应的请求头当然也不应该 ...

  3. 重命名Docker容器

    重命名Docker容器: Docker rename [Old container name]  [New container name]

  4. Docker学习笔记_安装和使用Redis

    一.准备 1.宿主机OS:Win10 64位 2.虚拟机OS:Ubuntu18.04 3.操作账号:Docker 二.安装过程 1.搜索Redis                         su ...

  5. 如何在Django模型中管理并发性 orm select_for_update

    如何在Django模型中管理并发性 为单用户服务的桌面系统的日子已经过去了 - 网络应用程序现在正在为数百万用户提供服务,许多用户出现了广泛的新问题 - 并发问题. 在本文中,我将介绍在Django模 ...

  6. 第十课,ROS仿真2

    Rviz 属性 1.下面以turtlebot_stage inRviz为例 首先安装 sudo apt-get install ros-indigo-turtlebot-simulator 运行 ro ...

  7. VC中多线程(一)Win32 API对多线程编程的支持

    http://blog.sina.com.cn/s/blog_4ae08ad801008yer.html

  8. poj 1611 The Suspects(第一道并查集)

    题意: 有N个学生,编号为0-n-1,现在0号学生感染了非典,凡是和0在一个社团的人就会感染, 并且这些人如果还参加了别的社团,他所在的社团照样全部感染,社团个数为m,求感染的人数. 输入: n代表人 ...

  9. C#使用var定义变量时的四个特点

    使用var定义变量时有以下四个特点: 1. 必须在定义时初始化.也就是必须是var s = “abcd”形式: 2. 一但初始化完成,就不能再给变量赋与初始化值类型不同的值了. 3.   var要求是 ...

  10. Python基础入门-While循环

    讲完了for循环我们继续来看第二个循环,那就是while循环,while循环和for循环虽然都是循环,但是有着本质的不同.我们先来看下她们之间的区别和联系: While循环和for循环区别: 1.fo ...