向ms数据库中插入DateTime类型的数据,C#

时间:2022-01-14 15:34:11
我向数据库中一个表的一个字段插入数据,是DateTimen类型,我在代码中写了DateTime a=DateTime.Parse(DateTime.Now.ToString());把a插入数据库中,但总是提示,“”附近有语法错误,后来我在数据库中写了插入语句发现是在datatime类型的字段出错,比如:2011/10/16 17:05:00中是说"17"附近有语法错误

跪求高手解决,为什么C#中的DateTime类型插不进数据库中的DateTime类型的字段中

18 个解决方案

#1


   string sql="@insert into tbname(date) values  (cast('2011-10-16'as datetime ))";

#2


引用 1 楼 hhqsy 的回复:
string sql="@insert into tbname(date) values (cast('2011-10-16'as datetime ))";



关键我从代码中传来了的数据是DateTime类型,是有时间的,我也像过把时间去掉,虽然时间去掉了,但是最后还是要转换到dateTime类型又加上默认的时间00:00:000

#3


楼主是拼sql字符串的么

#4


如果是拼接sql直接这样string sql="insert into tbname(date) values ('"+DateTime.Now.ToString()+"')";就可以了,记得要加单引号

#5


楼主代码没有贴全 没办法帮你,以前我也有过这个问题,后来找了半天就是一个转型小错误,瞎折腾!

#6


肯定是你的sql语句有问题的,最好贴出来

#7


无码无真相!

#8


引用楼主 wang315235277 的回复:
我向数据库中一个表的一个字段插入数据,是DateTimen类型,我在代码中写了DateTime a=DateTime.Parse(DateTime.Now.ToString());把a插入数据库中,但总是提示,“”附近有语法错误,后来我在数据库中写了插入语句发现是在datatime类型的字段出错,比如:2011/10/16 17:05:00中是说"17"附近有语法错误

跪求高手解决,为什么C……

为什么要DateTime.Parse(DateTime.Now.ToString());
直接在INSERT里拼'"+DateTime.Now+"'不就可以了

#9


DateTime a=DateTime.Parse(DateTime.Now.ToString());

DateTime.Now是日期类型

DateTime.Now.ToString()  字符串类型

DateTime.Parse(DateTime.Now.ToString()); 日期类型

lz 拐弯了

lz 不要怀疑 C#的日期类型为什么 插不进你的 数据库的日期类型
因为都是 微软的东西,这个不可能 

唯一可能的是,你把你 连接的sql 和 调试时可以在 数据库运行的sql 发出来,让大家 鉴定鉴定 

#10


取当前时存储表中,为如直接给表一个default值,DEFAULT(GETDATE())
这样在sql语句时,根本无再去写。

#11


帮顶了

#12


引用 4 楼 beyond_me21 的回复:
如果是拼接sql直接这样string sql="insert into tbname(date) values ('"+DateTime.Now.ToString()+"')";就可以了,记得要加单引号
+1

#13


引用 9 楼 ruanwei1987 的回复:
DateTime a=DateTime.Parse(DateTime.Now.ToString());

DateTime.Now是日期类型

DateTime.Now.ToString()  字符串类型

DateTime.Parse(DateTime.Now.ToString()); 日期类型

lz 拐弯了

lz 不要怀疑 C#的日期类型为什么 插不进你的 数据库的日……

说的蛮详细了

#14


引用 8 楼 zmcici 的回复:
引用楼主 wang315235277 的回复:
我向数据库中一个表的一个字段插入数据,是DateTimen类型,我在代码中写了DateTime a=DateTime.Parse(DateTime.Now.ToString());把a插入数据库中,但总是提示,“”附近有语法错误,后来我在数据库中写了插入语句发现是在datatime类型的字段出错,比如:2011/10/16 17:05:00中是说"……



我用三层写的,还要调用实体层,对实体层的字段付值,

#15


各位哥哥,感谢你们的回答,终于解决了,写了几千行的代码,到最后犯了个低级错误:单引号没加,我自己都无语了

#16


看到12楼的话,才想起来

#17


你sql语句有问题吧

#18


如果不想要后面的时分秒 可采用 convert()函数

#1


   string sql="@insert into tbname(date) values  (cast('2011-10-16'as datetime ))";

#2


引用 1 楼 hhqsy 的回复:
string sql="@insert into tbname(date) values (cast('2011-10-16'as datetime ))";



关键我从代码中传来了的数据是DateTime类型,是有时间的,我也像过把时间去掉,虽然时间去掉了,但是最后还是要转换到dateTime类型又加上默认的时间00:00:000

#3


楼主是拼sql字符串的么

#4


如果是拼接sql直接这样string sql="insert into tbname(date) values ('"+DateTime.Now.ToString()+"')";就可以了,记得要加单引号

#5


楼主代码没有贴全 没办法帮你,以前我也有过这个问题,后来找了半天就是一个转型小错误,瞎折腾!

#6


肯定是你的sql语句有问题的,最好贴出来

#7


无码无真相!

#8


引用楼主 wang315235277 的回复:
我向数据库中一个表的一个字段插入数据,是DateTimen类型,我在代码中写了DateTime a=DateTime.Parse(DateTime.Now.ToString());把a插入数据库中,但总是提示,“”附近有语法错误,后来我在数据库中写了插入语句发现是在datatime类型的字段出错,比如:2011/10/16 17:05:00中是说"17"附近有语法错误

跪求高手解决,为什么C……

为什么要DateTime.Parse(DateTime.Now.ToString());
直接在INSERT里拼'"+DateTime.Now+"'不就可以了

#9


DateTime a=DateTime.Parse(DateTime.Now.ToString());

DateTime.Now是日期类型

DateTime.Now.ToString()  字符串类型

DateTime.Parse(DateTime.Now.ToString()); 日期类型

lz 拐弯了

lz 不要怀疑 C#的日期类型为什么 插不进你的 数据库的日期类型
因为都是 微软的东西,这个不可能 

唯一可能的是,你把你 连接的sql 和 调试时可以在 数据库运行的sql 发出来,让大家 鉴定鉴定 

#10


取当前时存储表中,为如直接给表一个default值,DEFAULT(GETDATE())
这样在sql语句时,根本无再去写。

#11


帮顶了

#12


引用 4 楼 beyond_me21 的回复:
如果是拼接sql直接这样string sql="insert into tbname(date) values ('"+DateTime.Now.ToString()+"')";就可以了,记得要加单引号
+1

#13


引用 9 楼 ruanwei1987 的回复:
DateTime a=DateTime.Parse(DateTime.Now.ToString());

DateTime.Now是日期类型

DateTime.Now.ToString()  字符串类型

DateTime.Parse(DateTime.Now.ToString()); 日期类型

lz 拐弯了

lz 不要怀疑 C#的日期类型为什么 插不进你的 数据库的日……

说的蛮详细了

#14


引用 8 楼 zmcici 的回复:
引用楼主 wang315235277 的回复:
我向数据库中一个表的一个字段插入数据,是DateTimen类型,我在代码中写了DateTime a=DateTime.Parse(DateTime.Now.ToString());把a插入数据库中,但总是提示,“”附近有语法错误,后来我在数据库中写了插入语句发现是在datatime类型的字段出错,比如:2011/10/16 17:05:00中是说"……



我用三层写的,还要调用实体层,对实体层的字段付值,

#15


各位哥哥,感谢你们的回答,终于解决了,写了几千行的代码,到最后犯了个低级错误:单引号没加,我自己都无语了

#16


看到12楼的话,才想起来

#17


你sql语句有问题吧

#18


如果不想要后面的时分秒 可采用 convert()函数