SQLite 错误:“s”附近:语法错误

war*_*ior 3 c# sqlite

我总是收到这个错误

“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”附近说:语法错误

但如果使用“xselect * from mey”,请在“x”附近说:语法错误

我正在使用这个库 http://adodotnetsqlite.sourceforge.net/

CL.*_*CL. 5

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)


war*_*ior 0

问题解决了!

使用这些库,问题解决了... http://www.devart.com/dotconnect/sqlite/download.html

多谢你们