У меня небольшая проблема с SqlServerCe. При использовании приведенного ниже sqlString для выполнения ExecuteNonQuery(); command Я получаю ошибку ниже.Вложенный 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