Как параметризовать имена таблиц и столбцов в запросах SQLite?C#

Место общения программистов C#
Ответить
Anonymous
 Как параметризовать имена таблиц и столбцов в запросах SQLite?

Сообщение Anonymous »

Я пытаюсь выполнить параметризованный запрос в SQLite из C#, создавая статическую команду с помощью:

Код: Выделить всё

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;
Я получаю сообщение об ошибке:

'@search' не является правильным именем столбца

Или что-то в этом роде. если я использую постоянное имя столбца и использую данные только для параметров, это работает. Но я не хочу создавать 10 разных команд для поиска по разным именам столбцов. В чем здесь проблема?

Подробнее здесь: https://stackoverflow.com/questions/414 ... te-queries
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»