我在我正在編寫的C#程序中有一個下拉(組合)框。 - 它通過拉其數據從一個表在我的數據庫:從C#組合框中插入ID到
Application_Id | Application
---------------|--------------
1 |Name1
2 |Name2
3 |Name3
的下拉框的代碼如下所示:
SqlConnection conn = new SqlConnection(SqlCon.DBCON);
conn.Open();
SqlCommand sc = new SqlCommand("select * from Application", conn);
SqlDataReader reader;
reader = sc.ExecuteReader();
DataTable dt = new DataTable();
dt.Columns.Add("ApplicationId", typeof(int));
dt.Columns.Add("Application_Name", typeof(string));
dt.Load(reader);
App.ValueMember = "ApplicationId";
App.DisplayMember = "Application_Name";
App.DataSource = dt;
conn.Close();
基本上,用戶選擇的應用程序的名稱並按下'插入'按鈕。 我想這個然後張貼該應用程序的相關ID到我的數據庫中的另一個表。 (帳戶表)。 - 我確實有這種設置作爲主要的外鍵關係,但測試我刪除了關係。
我對插入到數據庫的代碼是這樣的:
SqlConnection conn = new SqlConnection(SqlCon.DBCON);
conn.Open();
using (SqlCommand AQuery = conn.CreateCommand())
{
AQuery.CommandText = "INSERT INTO Accounts(AccountName,Application_Id,num_Users) VALUES(@param1,@param2,@param3)";
AQuery.Parameters.Add(new SqlParameter("@param1", account.Text));
AQuery.Parameters.Add(new SqlParameter("@param2", App.ValueMember));
AQuery.Parameters.Add(new SqlParameter("@param3", users.Text));
AQuery.ExecuteNonQuery();
}
我的問題是,我得到當我按下插入一個異常發生。 (一切編譯)
的異常狀態:
錯誤轉換nvarchar的值「的applicationID」爲數據類型int時轉換失敗。
-I曾嘗試: CAST CONVERT
轉換的valuemember插入語句,還是同樣的錯誤之前,在應用爲int。
我在做什麼錯? - 它不試圖將實際的字符串'ValueMember'轉換爲int是嗎?
什麼數據類型是SQL Server中的ApplicationId? – CSharper