我总是得到这个错误
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();
liteda.Fill(dt); //liteda is SQLiteDataAdapter
这个选择命令之间没有区别...
"select * from mey where pe like '%" + str + "%'"
或
"select eng "
总是在“s”附近说:语法错误
但是如果使用“xselect * from mey”,在“x”附近说:语法错误
最佳答案
当 str
的值包含撇号时,此查询将不起作用,因为字符串将过早终止:
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 + "%");
关于c# - SQLite 错误 : near "s": syntax error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17280051/