【发布时间】:2016-12-18 02:28:06
【问题描述】:
我有 C# 程序。我的代码生成这样的 SQL 语句:
INSERT INTO [TWEET_RESULT] ([SearchKeyword], [TweetID], [RetweetCount], [URL], [Body], [PostedTime], [Sentiment])
VALUES ("BVN", "tag:search.twitter.com,2005:528481176659697664", "1", "http://twitter.com/austin_ebi/statuses/528481176659697664", "Pls what is BVN going to be used for? Why can't every Nigerian just have 1 National Insurance number to be used for all purposes?", "2014-11-01T09:38:25.000Z", "NEUTRAL")
当我在 Access 数据库中执行此 SQL 语句时,它通过正确插入记录来工作。
但是,当我在 C# 代码中运行相同的查询以插入记录时。它什么都不做。
我使用双引号将字段值括起来的原因是因为某些字段值可以包含特殊字符。同样的查询,当只使用单引号将字段值括起来时,它之前工作过。
当我在 C# 代码中检查异常消息时。它说:
错误 [42000] [Microsoft][ODBC Microsoft Access Driver] '' 不是有效名称。确保它不包含无效字符或标点符号,并且不要太长。
【问题讨论】:
-
我不认为问题是您的查询。尝试一个简单的选择查询,看看是否有效。从表中选择 1 条记录和 1 条,看看是否可行。
-
抱歉,我不明白您所说的选择 1 条记录是什么意思。当我在 Microsoft Access 中运行插入 sql 语句时,它似乎会起作用。当我的 C# 代码尝试执行相同的 sql 查询时,它会遇到异常。
-
如何将包含\、逗号等特殊字符的字段值括起来。由于特殊字符,我不能使用单引号。如果我使用双引号,它会从 C# 代码中消失。奇怪。
-
我是说您已经向我们展示了您的插入查询,但该错误与您的插入查询无关。即使您选择它也会失败
-
首先尝试这个qry然后检查它的查询问题还是你的代码。INSERT INTO [TWEET_RESULT] ([SearchKeyword], [TweetID], [RetweetCount], [URL], [Body], [ PostedTime], [Sentiment]) VALUES ("BVN", "test", "1", "test", "test, "2014-11-01T09:38:25.000Z", "NEUTRAL")