J'ai un petit problème avec SqlServerCe. Lors de l'utilisation de sqlString ci-dessous pour exécuter un ExecuteNonQuery(); commande je reçois l'erreur ci-dessous.imbriqué SELECT numéro
string sqlString = "INSERT INTO Images (UID, Name) " +
"VALUES ((SELECT ID FROM Contributors WHERE ID = @UID), @Name);";
donne cette erreur:
There was an error parsing the query. [ Token line number = 1,Token line offset = 41,Token in error = SELECT ]
Toutes les suggestions?
Méthode
public static void InsertImage(Contributor contObj, string ImageName)
{
string sqlString = "INSERT INTO Images (UID, Name) " +
"VALUES ((SELECT ID FROM [Contributors] WHERE ID = @UID), @Name);";
using (SqlCeConnection sqlConnection =
new SqlCeConnection(WebConfigurationManager.ConnectionStrings["DefaultSQL"].ConnectionString))
{
SqlCeCommand sqlCommand = new SqlCeCommand(sqlString, sqlConnection);
sqlCommand.Parameters.AddWithValue("@UID", contObj.ID);
sqlCommand.Parameters.AddWithValue("@Name", ImageName);
sqlConnection.Open();
sqlCommand.ExecuteNonQuery();
sqlConnection.Close();
}
}
@Name n'est pas dans les contribuants. Il existe une relation de clé étrangère entre Images.UID et Contributors.ID – user1027620
Je pense que vous pourriez avoir besoin du mot-clé VALUES. – JHS
puisque vous utilisez un paramètre, vous devrez lui indiquer la valeur @Name lorsque vous l'exécutez. pouvez-vous éditer votre question poster votre code complet? alors je peux te montrer. – Taryn