我在我正在编写的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