我总是收到这个错误
“s”附近:语法错误
我的实现:
litecon.ConnectionString = "Data Source=" + AppAddress + "\\database\\mynew22.db;Version=3;UTF16Encoding=True";
Run Code Online (Sandbox Code Playgroud)
从这个方法中收到错误 -> 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
Run Code Online (Sandbox Code Playgroud)
这个选择命令之间没有区别......
"select * from mey where pe like '%" + str + "%'"
Run Code Online (Sandbox Code Playgroud)
或者
"select eng "
Run Code Online (Sandbox Code Playgroud)
总是在“s”附近说:语法错误
当str有一个包含撇号的值时,此查询将不起作用,因为字符串将过早终止:
select * from mey where trans like '%King Solomon's Mines%'
Run Code Online (Sandbox Code Playgroud)
您必须使用参数:
cmd = new SQLiteCommand("select * from mey where trans like @pattern", litecon);
cmd.Parameters.AddWithValue("@pattern", "%" + str + "%");
Run Code Online (Sandbox Code Playgroud)