-1
錯誤:如何的ExecuteNonQuery()在asp.net解決錯誤
An exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll but was not handled in user code
Additional information: Column name or number of supplied values does not match table definition.
代碼:
SqlConnection con = new SqlConnection();
con.ConnectionString = @"Data Source = (LocalDB)\MSSQLLocalDB; AttachDbFilename = C:\Users\Harry\Documents\Visual Studio 2015\WebSites\WebSite2\App_Data\Database.mdf; Integrated Security = True";
con.Open();
// insert command
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText="INSERT INTO firsttb VALUES (@n , @p) ";
cmd.CommandType = System.Data.CommandType.Text;
cmd.Parameters.AddWithValue("@n",TextBox1.Text);
cmd.Parameters.AddWithValue("@p", TextBox2.Text);
cmd.ExecuteNonQuery();
con.Close();
當使用INSERT INTO
id也有,但主鍵和我只有2個文本框一個名稱和另一個密碼,所以應該怎麼做我做? –
回答
提列名明確如下圖所示;假設列名是
n
和p
。此外,使用Add()
方法的重載而AddWithValue()
來源
2017-08-19 18:45:12 Rahul
身份證也存在,但主鍵和我只有2個文本框一個名稱和另一個密碼,所以我該怎麼辦? –
檢查firsttb表中的列數。它應該與你通過ado.net代碼傳遞的許多值匹配。
E.g如果您的firsttb表有三列,則在Insert Into語句中傳遞三個值。
此外,請檢查您傳遞的值的順序。因爲您在「插入到聲明」中沒有提及列名稱。因此,你所傳遞的價值秩序非常重要。
試試這個:作爲你的表有3列,你只有經過兩個值,在這種情況下,讓你的ID列標識列,這樣你每次將插入一個新的記錄新的ID將獲得汽車生成,你不必修改代碼。
來源
2017-08-19 18:53:08 jANVI
ID也有,但主鍵,我只有2個文本框一個名稱和另一個密碼,所以我該怎麼辦 –
ID是唯一主鍵還是標識列也? – jANVI
如果你的主鍵列不是標識列,那麼你也必須傳遞它的值。意味着總共 – jANVI
相關問題