我無法插入新行到SQL Server CE 3.5表中插入到SQL Server CE由於自動增量列不能與自動增量
我的模式很簡單,只要:
@"CREATE TABLE DataTable ("Foo_ID int PRIMARY KEY IDENTITY, " +
"FooName NVARCHAR(200) NOT NULL)
而在C#我的INSERT語句
SqlCeCommand cmd = new SqlCeCommand(@"INSERT INTO DataTable VALUES(@Foo_ID, @FooName)", con))
conn.Open();
cmd.Parameters.Add(new SqlCeParameter("FooName", "test123"));
cmd.ExecuteNonQuery();
然後我得到的錯誤:
System.IndexOutOfRangeException: An SqlCeParameter with ParameterName 'Foo_ID' is not contained by this SqlCeParameterCollection
它是一個自動增量場 - PRIMARY KEY IDENTITY .. – KMC
如果自動增量領域,你不需要在語句中調用它:'SqlCeCommand cmd = new SqlCeCommand(@「INSERT INTO DataTable VALUES(@FooName,con)) ' –
指定'@ Foo_ID'表示您打算提供一個名爲'Foo_ID'的參數。告訴它,它會抱怨你沒有爲它提供一個值,因此 - 不要說你會包含一個:) INSERT INTO DataTable(FooName)VALUES(@FooName)'' –