sql server时间操作迷茫中...

gxboy 2003-08-22 09:46:12
由于对mssql接触较少。昨天遇到这样一个问题

sql = "insert into tables(a,b) values('" & users & "',#" & Now() & "#)"

这样好象无法在mssql中执行。最后以这种方式解决:

sql = "insert into tables(a,b) values('" & users & "','" & Now() & "')"

B表当然设的是datatime类型,为什么会以字符串型式处理????
...全文
33 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
gxboy 2003-08-23
  • 打赏
  • 举报
回复
thank !
batisituta 2003-08-23
  • 打赏
  • 举报
回复
用getdate()函数取时间。
blackcatiii 2003-08-23
  • 打赏
  • 举报
回复
or you may write sql like below:
"insert into tables(a,b) values(@users,getDate())";
getDate() is a function used by sql server to get the current date and time of the datebase server.
saucer 2003-08-23
  • 打赏
  • 举报
回复
your approach has two problems:
1. if b is always set to Now, you should do it in the database, set its default value to getdate()
2. you don't know the format like you are saying
3. it is subject to sql injection attack

you should use a parameterized query, for example

sql = "insert into tables(a,b) values(@users,@dates)"
SqlCommand cmd = new SqlCommand(sql,conn);
cmd.Parameters.Add("@users","whatever");
cmd.Parameters.Add("@dates", DateTime.Now);
conn.Open();
cmd.ExecuteNonQuery();
aquariusBoy 2003-08-22
  • 打赏
  • 举报
回复
datetime类型在插入的时候都是字符串的形式插入的,只是有格式的规定,比如1981-06-03

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧