如何使用SqlCommand将数据插入数据库表

时间:2014-12-18 17:41:26

标签: c# sql asp.net

我正在尝试将数据插入到我拥有的名为EmployeeInfo的数据库中 Database

提示用户输入姓氏并选择部门ID(显示给用户作为营销或开发)列ID自动递增。

这是我背后的代码

    protected void SubmitEmployee_Click(object sender, EventArgs e)
{        
    var submittedEmployeeName = TextBox1.Text;
    var submittedDepartment = selectEmployeeDepartment.Text;
    if (submittedEmployeeName == "")
    {
        nameError.Text = "*Last name cannot be blank";

    }
    else
    {

        System.Data.SqlClient.SqlConnection sqlConnection1 =
        new System.Data.SqlClient.SqlConnection("ConnString");

        System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
        cmd.CommandType = System.Data.CommandType.Text;
        cmd.CommandText = "INSERT INTO EmployeeInfo (LastName, DepartmentID ) VALUES ('" + submittedEmployeeName + "', " + submittedDepartment + ")";
        cmd.Connection = sqlConnection1;

        sqlConnection1.Open();
        cmd.ExecuteNonQuery();
        sqlConnection1.Close();

    }
}

我收到的错误是'争议异常未被用户代码处理'

这是一张照片。

enter image description here

根据要求。更多细节

errorDetails

1 个答案:

答案 0 :(得分:1)

如果我有足够的声誉,我宁愿将其作为回复发布,但它实际上可能是解决方案。

它停止的原因是因为你没有提供合法的SqlConnection,因为你的输入是:“ConnString”,它只是那个文本。

连接字符串应如下所示:

const string MyConnectionString = "SERVER=localhost;DATABASE=DbName;UID=userID;PWD=userPW;"

在你的情况下最终会像:

System.Data.SqlClient.SqlConnection sqlConnection1 = new System.Data.SqlClient.SqlConnection(MyConnectionString);

除此之外,您应该建立如下连接:

  

使用(SqlConnection con = new SqlConnection(MyConnectionString)){

using (SqlCommand cmd = new SqlCommand())
{
    cmd.CommandText = xxxxxx; // Your query to the database
    cmd.Connection = con;
    cmd.Connection.Open();
    cmd.ExecuteNonQuery();
}
     

}

这将为您完成关闭,它也使您更容易嵌套连接。我最近做了一个项目并按照你的方式进行连接,当我想在一个函数中执行多个执行时,最终无法正常工作。为每个执行创建一个新命令非常重要。