0
我想查询我的应用程序的一些数据库信息,但是,SQLiteException逗弄我。SQLite抛出异常然而CommandText没有错误
以下是异常消息。
SQL逻辑错误或丢失的数据库
附近的 “序”:语法错误
我测试的命令文本在SQLite的浏览器,它工作得很好。但在代码中,异常继续抛出。
这是我使用的一些代码。
// Database Requesting Point
// using(var DB = new SQLiteHandler()) skipped
var QueryText = string.Format(
"SELECT seq, title, written_date FROM pblog_board WHERE category={0} ORDER BY seq DESC LIMIT {1}"
, Target, Requests
); // Complete Command Text
var Reader = DB.ExecuteReader(QueryText, null);
...这是的ExecuteReader(字符串参数[])和查询(字符串参数[])
public SQLiteDataReader ExecuteReader(string CommandText, CommandParameter[] Parameters)
{
var Command = Query(CommandText, Parameters);
return Command.ExecuteReader();
}
private SQLiteCommand Query(string CommandText, CommandParameter[] Parameters)
{
SQLiteCommand Command = new SQLiteCommand(_currentConnection);
Command.CommandType = System.Data.CommandType.Text;
Command.CommandText = CommandText;
if (Parameters != null)
for (int i = 0; i < Parameters.Length; i++)
{
Command.Parameters.Add(new SQLiteParameter(
parameterName: Parameters[i].ParameterName,
value: Parameters[i].ParameterValue
));
}
return Command;
}
我希望这不会是一个SQLite库的毛刺。我编码错了,对吧?
好吧,我参数化了我的查询。我没有看到有注入漏洞:)......问题解决了。 'Target'和'Requests'因为'null'而成为问题!谢谢。 –