SQL插入时间

 我在网上发了一个帖子:

数据库是时间字段是DateTime型的,
我用如下的语句进行插入:
string sqlBorrow = "insert into bookBorrow(UserName,BookId,BorrowTime)values('" + Session["UserName"] + "','" + txtBookId.Text.Trim() + "',"+DateTime.Now.ToLocalTime())+"";
如何修改,我在网上搜索了好多了,没找到答案 !插入数据库中的字段年月日时分秒都有,如何才能实现!我不想把字段改成Varchar型的!兄弟们给了以下的方法:

  1. string sql = string.Format("insert into bookborrow(userName,BookId,BorrowTime) values('{0}','{1}','{2}')",Session["UserName"],txtBookId.Text.Trim(),DateTime.Now.ToString());

这段代码执行后是这样的:

insert into bookborrow(userName,BookId,BorrowTime) values('','1111','2008-9-27 20:44:40')

这位真是高人,我第一次见这样的语句,得好好研究研究!

insert into bookBorrow(UserName,BookId,BorrowTime)values('abc','123',getdate())这样也是一种解决办法!

Session["UserName"]不是object类型的吗,能这样插入?
在string和+运算中支持对object对象的一种重载,即支持
string+object
它自动解释为
string+object.ToString()

最后我的解决办法是在时间两边加了单引号,其实这种方法我也知道,只是因为以前看过日期不用加单引号!但是我没有注意那只是在ASP中使用的,看来以后得学的活一点!还不能迷信网络和书本!

 

你可能感兴趣的:(SQL插入时间)