我尝试用以下代码输入当前日期:
string now = (DateTime.Today.Day + "/" + DateTime.Today.Month + "/" + DateTime.Today.Year).ToString();
string tm = (DateTime.Today.Hour + ":" + DateTime.Today.Minute).ToString();
string sql2 = string.Format("INSERT INTO Kabala2 (Nu_kabala,Ma_num,Sk,Seif_hacnasa,Seif_name,Date) VALUES('{0}','{1}','{2}','{3}','{4}','{5}')", n, Session["Ma_num"], lprice, lkod,des, now );
Dal.DoQuery(sql2);
当我运行这段代码时,它显示了标题中的错误:
结果是varchar数据类型转换为日期时间数据类型在超出范围的值
中
怎么解?
------------------ 编辑
我把它改为:string now = DateTime.Today.ToString("yyyy-MM-dd HH:mm:ss");
,它工作了。
现在我有另一个问题,当我运行下面的代码时,它显示了错误:将数据类型varchar转换为数字错误。
string now = DateTime.Today.ToString("yyyy-MM-dd HH:mm:ss");
string tm = DateTime.Now.ToString("HH:mm:ss");
string sql = string.Format("INSERT INTO Kabala1 (Nu_kabala,Ma_num,Date,Time,Total,Status,Name,User_n) VALUES('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}')", n, Session["Ma_num"], now, tm, lprice, "ddffs", Session["user"], "ddffs");
Dal.DoQuery(sql);
string sql2 = string.Format("INSERT INTO Kabala2 (Nu_kabala,Ma_num,Sk,Seif_hacnasa,Seif_name,Date) VALUES('{0}','{1}','{2}','{3}','{4}','{5}')", n, Session["Ma_num"], lprice, lkod, des, now);
Dal.DoQuery(sql2);
string sql3 = string.Format("INSERT INTO Kabala3 ((Nu_kabala,Msd,Ma_num,Kind_pay,Name_pay,Date_pay,Sk,Ms_sek,Snif,Bank,Date_klita,Seif) VALUES('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}')", n,"1", Session["Ma_num"],"13", "ddffds", now, lprice, this.card.Text, this.mm.Text, this.yy.Text, now, lkod);
Dal.DoQuery(sql3);
您可以使用DateTime.Today.ToString("yyyy-MM-dd HH:mm:ss")
//任何格式…
或使用直接sql而不是使用CONVERT方法。语法是
在您的例子中,使用103格式的日期
CONVERT(VARCHAR,DateTime.Today.Day + "/" + DateTime.Today.Month + "/" + DateTime.Today.Year,103)
和108表示时间
CONVERT(VARCHAR, DateTime.Today.Hour + ":" + DateTime.Today.Minute + ":00" ,108)
将给出hh:mm:ss
的格式来自以下w3链接的完整引用:http://www.w3schools.com/sql/func_convert.asp
MySQL中日期的标准形式是YYYY-MM-DD。我建议使用这种格式。也许这会创建正确格式的字符串:
string now = (DateTime.Today.Year + "-" + DateTime.Today.Month + "-" + DateTime.Today.Year).ToString();
只需更改计算机或膝上的日期设置。我希望你知道它是怎么做的!如果你不……
- 从右下角选择日历。
- 则选择
change date and time settings
- 选择
change date and time
- ,选择
change calendar settings
- 然后在日期格式>更改短日期为
MM/dd/yyyy
或dd/MM/yyyy
。选择适合您的计算机的。对我来说是MM/dd/yyyy
。