既然是C#,那直接使用参数就OK了。stringsql="insertinto表(列1,列2,
时间)values('列1的值','列2的值',@time)"SqlCommandcmd=newSqlCommand(sql,conn)conn.Open()cmd.Parameters.Add(newSqlParameter("@time",DateTimePicker1.Text))cmd.ExecuteNonQuery()不使用参数的话,可以先转换为DateTime,然后再插入
数据库:stringtime=((DateTime)DateTimePicker1.Text).ToShortDateString()以上代码可以插入时间到数据库,但生日不知道的时候,总得给数据库中的生日赋值为空,以上若设置time=null,就出错。------解决方案--------------------------------------------------------空值你就别插入那个字段嘛string myinsert = string.Format(@insert into person(姓名,手机,性别)values('{0}','{1}','{2}'), sname, sphone, ssex)------解决方案--------------------------------------------------------首先数据库中你的这个时间字段是:可空的时间类型接着就是程序代码中稍微处理一下即可。
以目前三大主流数据库oracle,mysql,sqlserver分别说明。
如果是oracle,需要用to_date函数将字符型数据转换,插入到数据库的日期型数据中。
如:
create table test
(cdate date)
insert into test values (to_date('2015-08-13','yyyy-mm-dd'))
commit
如果是mysql或者sqlserver,可直接以字符形式插入,数据库会自动将字符转成日期。
create table test
(cdate datetime)
insert into test values ('2015-08-13')
需要注意:oracle中插入后需要commit(提交),否则在关闭当前会话后,插入是不成功的。
评论列表(0条)