進出口試圖SQLite中從C#執行參數化查詢,以及使用該方法的IM是連同是否可以參數化SQLite查詢中的表名和列名?
SQLiteCommand cmd = new SQLiteCommand(
"SELECT [ID]" +
",[email]" +
",[serializedata]" +
",[restrictions]" +
" FROM " + UserTable +
" WHERE @search = @searchparam", SQLConnection);
cmd.Parameters.Add(new SQLiteParameter("@searchparam"));
cmd.Parameters.Add(new SQLiteParameter("@search"));
創建靜態命令並調用它像這樣的線:
Command.Parameters["@searchparam"].Value = searchdata;
Command.Parameters["@search"].Value = search;
SQLiteDataAdapter slda = new SQLiteDataAdapter(UserSelectUsernameCommand);
DataSet ds = new DataSet();
slda.Fill(ds);
User[] array = new User[ds.Tables[0].Rows.Count];
int index = 0;
foreach (DataRow row in ds.Tables[0].Rows)
{
array[index] = new User(this, row);
index++;
}
return array;
但即時通訊「@搜索」的錯誤是不是一個正確的列名「或類似的東西。如果我使用一個常量列名稱,並只使用它的工作參數的數據,但我不想創建10個不同的命令,當我需要通過不同的列名稱搜索。
這裏有什麼問題?像列名(或表名)