我遇到了SqlServerCe的一個小問題。 當使用下面的sqlString來執行ExecuteNonQuery();命令我得到下面的錯誤。嵌套的SELECT問題
string sqlString = "INSERT INTO Images (UID, Name) " +
"VALUES ((SELECT ID FROM Contributors WHERE ID = @UID), @Name);";
給出了這樣的錯誤:
There was an error parsing the query. [ Token line number = 1,Token line offset = 41,Token in error = SELECT ]
有什麼建議?
方法
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不是貢獻者。 Images.UID和Contributors.ID – user1027620
之間存在外鍵關係我認爲您可能需要關鍵字VALUES。 – JHS
由於您使用的是參數,因此在執行時需要將@Name值告訴它。你可以編輯你的問題發佈你的完整代碼嗎?那麼我可以告訴你。 – Taryn