“dasani2”附近的 Sqlite 错误:语法错误
Posted
技术标签:
【中文标题】“dasani2”附近的 Sqlite 错误:语法错误【英文标题】:Sqlite error near "dasani2": syntax error 【发布时间】:2013-10-25 09:28:52 【问题描述】:我正在使用数据库创建我的第一个应用程序,但出现错误:
SQLite error near "dasani2": syntax error
,这是我的数据库结构和第一行:
id name lastname username password
1 first second dasani dasani2
这是我的程序代码:
SQLiteConnection sqliteCon = new SQLiteConnection(dbConnectionString);
try
sqliteCon.Open();
string Query = "select * from Users where username='" + Vartotojas.Text.Trim() + "'and password'" + Slaptazodis.Text.Trim() + "'";
SQLiteCommand createCommand = new SQLiteCommand(Query, sqliteCon);
createCommand.ExecuteNonQuery();
SQLiteDataReader dr = createCommand.ExecuteReader();
【问题讨论】:
一些良好的数据库实践:使用Parameters - 避免使用SQL injection 并处理任意数据。 【参考方案1】:您缺少 = 符号:
... "'and password = '" + Slaptazodis.Text.Trim() + "'";
附注:您不应该以纯文本形式存储密码。
【讨论】:
是的,我需要使用散列,但现在我只是在学习一切是如何工作的【参考方案2】:您错过了密码列中的 = 符号
password='"...
它不是一个插入查询,它是一个选择查询,所以你不需要这个下面的行
createCommand.ExecuteNonQuery();
【讨论】:
以上是关于“dasani2”附近的 Sqlite 错误:语法错误的主要内容,如果未能解决你的问题,请参考以下文章
org.sqlite.SQLiteException:[SQLITE_ERROR] SQL 错误或缺少数据库(“as”附近:语法错误)
android.database.sqlite.SQLiteException:在“Foreign”附近:语法错误(代码 1):
“COLUMN_NAME”附近:SQLite 中的语法错误(代码 1)
SQLITE_ERROR SQL 错误或缺少数据库(“(”附近:语法错误)嵌套选择顺序按