111,129
社区成员
发帖
与我相关
我的任务
分享if (conn.usecmd("update set employee ledate='" + TextBox1.Text.Trim().Equals("") ? (object)DBNull.Value : TextBox1.Text.Trim() + "'") == true)
string sql = string.format("update set employee ledate={0}", TextBox1.Text.Trim().Equals("") ? "NULL" : "'" + TextBox1.Text.Trim() + "'");
sql += “ AND 其他条件”
if (conn.usecmd(sql))
sqltext += string.format("birthday={0},", tb_csrq.Text.Trim() == "" ? "NULL" : "'" + tb_rzrq.Text.Trim() + "'");[/quote]
大神,膜拜,终于解决了困扰我已久的问题。后面这个问题解决了才发现平时不都是这么做的嘛,脑子里一堆浆糊,谢谢谢谢!sqltext += string.format("birthday={0},", tb_csrq.Text.Trim() == "" ? "NULL" : "'" + tb_rzrq.Text.Trim() + "'");sqltext += string.format("birthday='{0}',", tb_csrq.Text.Trim() == "" ? "NULL" : tb_rzrq.Text.Trim());[/quote]
然而问题又来了。这次问题出来在:birthday='{0}'。如果tb_csrq有值,调试正确,如果空,那就是birthday='NULL',这里并不需要单引号,提示:从字符串转换日期和/或时间时,转换失败。但是如果birthday={0},去掉单引号,tb_csrq=2005-1-1,那结果就是birthday=2005-1-1,这样没有单引号传入数据库的最终日期也是错误的!这这这……[/quote]
要不然我直接把NUU删了,传值也是传个空值进去,这样总行了吧?[/quote]
把NULL删了也不行!这样即使调试的时候birthday='',可是最后显示出来的又返回为1900-1-1的日期了!!!崩溃啊!sqltext += string.format("birthday='{0}',", tb_csrq.Text.Trim() == "" ? "NULL" : tb_rzrq.Text.Trim());[/quote]
然而问题又来了。这次问题出来在:birthday='{0}'。如果tb_csrq有值,调试正确,如果空,那就是birthday='NULL',这里并不需要单引号,提示:从字符串转换日期和/或时间时,转换失败。但是如果birthday={0},去掉单引号,tb_csrq=2005-1-1,那结果就是birthday=2005-1-1,这样没有单引号传入数据库的最终日期也是错误的!这这这……[/quote]
要不然我直接把NUU删了,传值也是传个空值进去,这样总行了吧?sqltext += string.format("birthday='{0}',", tb_csrq.Text.Trim() == "" ? "NULL" : tb_rzrq.Text.Trim());[/quote]
然而问题又来了。这次问题出来在:birthday='{0}'。如果tb_csrq有值,调试正确,如果空,那就是birthday='NULL',这里并不需要单引号,提示:从字符串转换日期和/或时间时,转换失败。但是如果birthday={0},去掉单引号,tb_csrq=2005-1-1,那结果就是birthday=2005-1-1,这样没有单引号传入数据库的最终日期也是错误的!这这这……sqltext += string.format("birthday='{0}',", tb_csrq.Text.Trim() == "" ? "NULL" : tb_rzrq.Text.Trim());string sqltext = "update employee set emp_name='" + tb_xm.Text.Trim() + "',";
sqltext += tb_csrq.Text.Trim() == "" ? "NULL" : "birthday='" + tb_rzrq.Text.Trim() + "',";
sqltext += tb_bysj.Text.Trim() == "" ? "NULL" : "bysj='" + tb_bysj.Text.Trim() + "',";
sqltext += tb_rzrq.Text.Trim() == "" ? "NULL" : "job_date='" + tb_rzrq.Text.Trim() + "',";
sqltext += tb_zzrq.Text.Trim() == "" ? "NULL" : "for_job_date='" + tb_zzrq.Text.Trim() + "',";
sqltext += "id_card='" + tb_sfzh.Text.Trim() + "' where emp_code='" + Request.QueryString["id"] + "'";
if (conn.usecmd(sqltext) == true)
如果tb_csrq.Text='1995-6-30', tb_bysj.Text='NULL',tb_rzrq.Text="NULL",tb_zzrq.Text='2016-7-1',调试结果为:
sqltext=‘update employee set birthday='1995-6-30',NULLNULLfor_job_date='2016-7-1',id_card='123456' where emp_code='0703132'’
日期框为空的前面都不带字段值,而且后面的逗号也没有了,NULL这里该怎么改啊?
string sql = string.format("update set employee ledate={0}", TextBox1.Text.Trim().Equals("") ? "NULL" : "'" + TextBox1.Text.Trim() + "'");
sql += “ AND 其他条件”
if (conn.usecmd(sql))
[/quote]
现在我是用拼接语句写的。又有新问题出现了!
string sqltext = "update employee set emp_name='" + tb_xm.Text.Trim() + "',";
sqltext += tb_csrq.Text.Trim() == "" ? "NULL" : "birthday='" + tb_rzrq.Text.Trim() + "',";
sqltext += tb_bysj.Text.Trim() == "" ? "NULL" : "bysj='" + tb_bysj.Text.Trim() + "',";
sqltext += tb_rzrq.Text.Trim() == "" ? "NULL" : "job_date='" + tb_rzrq.Text.Trim() + "',";
sqltext += tb_zzrq.Text.Trim() == "" ? "NULL" : "for_job_date='" + tb_zzrq.Text.Trim() + "',";
sqltext += "id_card='" + tb_sfzh.Text.Trim() + "',tel='" + tb_lxdh.Text.Trim() + "' where emp_code='" + Request.QueryString["id"] + "'";
if (conn.usecmd(sqltext) == true)
假如 tb_csrq.Text='1995-6-30', tb_bysj.Text='NULL',tb_rzrq.Text="NULL",tb_zzrq.Text='2016-7-1',调试的结果就会显示为:
sqltext=‘update employee set birthday='1995-6-30',NULLNULLfor_job_date='2016-7-1' where emp_code='0703132'’
日期框为空的前面都不带字段值,而且后面的逗号也没有,NULL这里该怎么改啊?
update employee set le_date={0}",TextBox1.Text.Trim().Equals("") ? "NULL" : "'" +TextBox1.Text.Trim() + "',birthday={0}",TextBox1.Text.Trim().Equals("") ? "NULL" : "'" +TextBox1.Text.Trim() + "' where code='"+Request.QueryString["id"]+"';
调试的结果是这样
update employee set contract_start_date=NULLupdate employee set le_date={0}",TextBox1.Text.Trim().Equals("") ? "NULL" : "'" +TextBox1.Text.Trim() + "',birthday={0}",TextBox1.Text.Trim().Equals("") ? "NULL" : "'" +Convert.ToDateTime(TextBox1.Text.Trim()) + "' where code='"+Request.QueryString["id"]+"';