Im tratando de realizar una consulta parametrizada en SQLite desde C#, y la im método que utiliza es en la línea de crear un comando estático con¿Es posible parametrizar nombres de tablas y columnas en consultas 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"));
y decir que es así:
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;
pero Estoy recibiendo un error en la línea de "'@search' no es el nombre correcto de una columna" o algo así. si uso un nombre de columna constante, y solo uso los datos para los parámetros, funciona, pero no quiero crear 10 comandos diferentes para cuando necesito buscar por diferentes nombres de columna.
¿Cuál es el problema aquí?