我的表里边有四个日期类型的字段, 插入的时候不是必填项,如何可以让它灵活的在程序中使用?
SQL 2005 c#2010 web在数据库中建了一个日期型字段 [FDATE]string vh="";if (textbox1.text==“”) //没有填入日期
vh=null;
else
vh=textbox1.text;
string sql="INSERT INTO TABLE(F1,F2,F3,[FDATE]) VALUES('A','A','A3',vh)";......//当没有填入日期,执行插入SQL 错误, 如何解决这个问题?
//这个只是个例子说明问题, 实际上,我的表里边有四个日期类型的字段, 插入的时候不是必填项。
SQL 2005 c#2010 web在数据库中建了一个日期型字段 [FDATE]string vh="";if (textbox1.text==“”) //没有填入日期
vh=null;
else
vh=textbox1.text;
string sql="INSERT INTO TABLE(F1,F2,F3,[FDATE]) VALUES('A','A','A3',vh)";......//当没有填入日期,执行插入SQL 错误, 如何解决这个问题?
//这个只是个例子说明问题, 实际上,我的表里边有四个日期类型的字段, 插入的时候不是必填项。
DateTime? date = DateTime.Now;
//取值
if(date.HasValue){Console.Write(date.Value.ToString("yyyy-MM-dd"));}
//赋值null
date = null;
vh=DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
当这个值没填时, 我认为它是空, 而不能去取当前的时间或任何时间, 字段记录内容只能是 NULL
DateTime? dt2 = null dt2 的类型就可以了
你在拼接sql语句判断下嘛,
如果没有输入日期或选择日期,在拼接的时刻设为 null 就是了,
比如 f1 为空,在拼接的时候判下,再组织嘛
string sql="INSERT INTO TABLE(F1,F2,F3,[FDATE]) VALUES(null,'A','A3',vh)";
再想想。
string time = null;
string sql = "insert into B_qyb(qymc,qyfzr,bz,lxdh,Fdate) values('bbb','ccc','ddd','eee','"+time+"')";
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
SqlCommand cmd= new SqlCommand(sql, conn);
if (cmd.ExecuteNonQuery() > 0)
Console.WriteLine("执行成功!");
else
Console.WriteLine("执行失败!");
}