【发布时间】:2012-08-03 11:17:45
【问题描述】:
我尝试使用 C# 获取日期和时间,然后将其插入到 SQL SERVER 中的 smalldatetime 数据类型中。
我就是这样尝试的:
DateTime date = DateTime.Now;
sql = "INSERT INTO YTOODLE_LINKS (YTOODLE_LINKS.TASK_ID,YTOODLE_LINKS.LINK_TITLE,YTOODLE_LINKS.LINK_DESC,YTOODLE_LINKS.LINK_PATH,YTOODLE_LINKS.USER_ID,YTOODLE_LINKS.LAST_USER_EDIT)VALUES (1,'','','',2,'1',"+ date +")";
dataObj = new DataObj();
dataObj.InsertCommand(sql);
connection = new SqlConnection(conn);
connection.Open();
cmd = new SqlCommand(sql, connection);
cmd.ExecuteNonQuery();
connection.Close();
然后它给了我:“'16'附近的语法不正确。” 我猜它指的是我现在的时间,现在是 16:15..
【问题讨论】:
-
一方面,您应该使用参数化查询。即使您使用此代码,也不会在查询中使用撇号包装
date变量。 -
那是有效还是失败?你有错误信息吗?还是一个问题?不幸的是,您的帖子并不太清楚您要问什么 - 我建议您进行编辑以明确您的问题。
-
这应该隐式转换为 smalldatetime 没有问题。当前的问题是什么?你的问题是什么?也许您不应该在插入列表中包含所有这些
YTOODLE_LINKS.前缀? -
哎呀,对不起..忘了把错误信息!已编辑!
-
您是否意识到传递的列数和值不相等,我猜这是不对的?
标签: c# sql-server-2008 ado.net