关于 c#:SQLite 错误:在 \\”s\\” 附近:语法错误
SQLite Error: near "s": syntax error
我总是得到这个错误
near"s": syntax error
我的实现:
|
litecon.ConnectionString ="Data Source=" + AppAddress +"\\\\database\\\\mynew22.db;Version=3;UTF16Encoding=True";
|
从这个方法收到错误 -> liteda.Fill(dt);
|
if (lang =="FaToMe")
liteda.SelectCommand = new SQLiteCommand("select * from mey where trans like '%" + str +"%'", litecon); else liteda.SelectCommand = new SQLiteCommand("select * from mey where pe like '%" + str +"%'", litecon); DataTable dt = new DataTable(); |
这个选择命令没有区别...
|
"select * from mey where pe like '%" + str +"%'"
|
或
|
"select eng"
|
总是说在 "s" 附近:语法错误
但如果使用 "xselect * from mey",请在 "x" 附近说:语法错误
我正在使用这个库
http://adodotnetsqlite.sourceforge.net/
相关讨论
- 你要求注射攻击...
- 我的桌子是什么样子的?
- @PinnyM no - str 是我的值/变量想要在我的数据库中找到它,它可以具有任何值,例如 'iran'、'usa'、....
- 您是否尝试过用分号 (;) 终止查询?
- @brianestey - 看到这个axgig.com/images/15579528865533473290.png
- @PinnyM - 不起作用!
- 好吧,您遇到了这样一个问题,即像这样处理命令而不是使用正确的参数化查询。以自己的方式进行操作,您会遇到不太"正确"的 SQL 语句,因为您没有平衡逗号或引号。使用参数化查询将让库为您完成工作并代表您处理它。获取它生成的 SQL 命令的副本(打印输出)。手动在您的数据库上运行它 - 您会得到什么?
-
您可以跟踪正在使用的实际字符串(在添加
str 参数之后)并将其张贴在这里吗? - 我的查询在"SQLite Expert"中正常工作,但当我试图在我的程序中使用它时不起作用......
-
我会再试一次问你:请打印出你的应用程序正在生成的 SQL,粘贴到这里。它与您手动运行的不同吗?帮助我们帮助您。
str 究竟是什么? - @PinnyM - 添加 str 后我的最终选择命令,我收到错误(str is 'pengu') -"select * from mey where pe like '%pengu%';"
-
liteda 对象是否附加了任何其他查询?也许是InsertCommand 、UpdateCommand 或DeleteCommand ?你能发布与这个liteda 对象的生命周期相关的代码吗? - @PinnyM - 我所有的实现 codepaste.net/z44hbe [访问正常] 但 SQLite 没有(所有命令)--- 对不起我的英语不好
-
您正在重用
liteda 对象,而没有从以前的查询中清除它。尝试为您正在运行的每个查询创建一个新的 SQLiteDataAdapter(工厂方法在这里很有用)。 - @PinnyM - 只有这一部分有错误! codepaste.net/g1cshj
当
|
select * from mey where trans like '%King Solomon's Mines%'
|
你必须使用参数:
|
cmd = new SQLiteCommand("select * from mey where trans like @pattern", litecon);
cmd.Parameters.AddWithValue("@pattern","%" + str +"%"); |
相关讨论
- 不起作用 - 我尝试使用这个命令,"select * from mey where trans like '%tr%'" - 但收到(靠近"s":语法错误)
-
所以是
select 失败了;你可能在那里有一些控制字符。
问题通常与撇号有关。您可以使用它们,但必须像另一个答案中提到的那样加倍,
应该改为
一个快速的解决方案是做
无论如何都会成功的。
问题解决了!
使用了这些库,问题就解决了……
http://www.devart.com/dotconnect/sqlite/download.html
谢谢大家