J'essaie de renommer un champ dans ma base de données via SQLite.net et j'obtiens une erreur de syntaxe. My SQL que je l'ai testé est:Erreur de syntaxe dans SQLite.net lors du passage du nom de la colonne en tant que paramètre
UPDATE candy SET name="Godiva" WHERE name="Sees";
et qui fonctionne très bien. J'utilise un SQLiteCommand avec un CommandText de:
UPDATE candy SET @[email protected]_name WHERE @[email protected]_name;
et mon extrait de code qui définit les valeurs ressemble à ceci:
Connection.Open();
transaction = Connection.BeginTransaction();
UpdatePropertyQuery.Parameters.AddWithValue("@field_name", "name");
UpdatePropertyQuery.Parameters.AddWithValue("@old_name", "Sees");
UpdatePropertyQuery.Parameters.AddWithValue("@new_name", "Godiva");
UpdatePropertyQuery.ExecuteNonQuery();
transaction.Commit();
Connection.Close();
Je ne suis pas expert en base de données, du point de vue d'un débutant, cela semble ça devrait marcher, mais c'est peut-être quelque chose avec SQL en général que je ne comprends pas. Quelle est la bonne façon de faire cela, et quelqu'un peut-il expliquer pourquoi cette approche ne fonctionnerait pas?
ok, merci pour l'information. J'essayais de maximiser les performances en utilisant des requêtes paramétrées, mais je suppose que le paramétrage du nom de la colonne n'est pas possible. Je dois lire sur ce truc. – Dave