Clyde Eisenbeis schrieb am 27.01.2017 um 18:51:
I tried this:

-----------------------------
  System.Data.SQLite.SQLiteCommand sqliteCmd = 
sqliteConnection.CreateCommand());

   sqliteCmd.CommandText = "SELECT" + stFieldNames + "FROM " +
stTableName + " WHERE " + stLikeFieldName + " LIKE '%' || ?1 || '%'";

   sqliteCmd.Parameters.Add(new SQLiteParameter("string",
liststLikeFieldValue[0]));

   SQLiteDataReader sqlReader = sqliteCmd.ExecuteReader();
-----------------------------

Error msg: "unknown error ... Insufficient parameters supplied to the command"


Make sure the parameter name matches what is provided in the statement. So your

  sqliteCmd.Parameters.Add(new SQLiteParameter("string",
liststLikeFieldValue[0]));

shoud read:

  sqliteCmd.Parameters.Add(new SQLiteParameter("1",
liststLikeFieldValue[0]));

However, using parameters with a qualfied name is recommended:

sqliteCmd.CommandText = "SELECT" + stFieldNames + "FROM " + stTableName + " WHERE " + 
stLikeFieldName + " LIKE '%' || @likeFldName || '%'";
sqliteCmd.Parameters.Add(new SQLiteParameter("@likeFldName", 
liststLikeFieldValue[0]));

SQLite is quite generous about possible parameter naming: http://www.sqlite.org/lang_expr.html#varparam
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to