Im Versuch, eine parametrisierte Abfrage in SQLite von C# auszuführen, und die im Verfahren verwendet, ist nach dem Vorbild der mitIst es möglich, Tabellen- und Spaltennamen in SQLite-Abfragen zu parametrisieren?
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"));
einen statischen Befehl erstellen und es so nennen:
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;
aber Ich bekomme einen Fehler in der Zeile von '' @search 'ist kein korrekter Spaltenname' 'oder so ähnlich. Wenn ich einen konstanten Spaltennamen benutze und nur die Daten für die Parameter nutze, funktioniert es nicht, aber ich möchte keine 10 verschiedenen Befehle erstellen, wenn ich nach verschiedenen Spaltennamen suchen muss.
Was ist das Problem hier?