与SQL Server 2008的C#连接

时间:2015-07-11 08:14:03

标签: c# sql-server-2008 ado.net

当我想连接到SQL Server 2008数据库时,我遇到了这个错误。

ERROR:

  

System.InvalidOperationException:ExecuteNonQuery:Connection属性尚未初始化。
  在System.Data.Sq1Client.Sq1Command.ValidateCommand(String method,Boolean async)
  在System.Data.Sq1Client.Sq1Client.Sq1Client.Sq1Client.Sq1Client.Sq1上,System.Data.Sq1Client.Sq1,内部执行,执行完成,String methodName,布尔值sendToPipe,Int32超时,布局asyncWrite。   at WindowsFormsApplication2.Form1.create_Click(Object sender,EventArgs e)位于C:\ Users \ admin \ Documents \ Visual Studio 201CAProjects \ WindowsFormsApplicationaWindowsFormsApplicationaForm1.cs第127行

SqlCommand cmd = new SqlCommand(); 
cmd.CommandText="insert into dbo.Student_Record
                  (
                    ID,
                    Name,
                    [Father's CNIC], 
                    [Father's Name],
                    CNIC
                  ) 
                  values 
                 ('BCSF11A003',
                  'Zargham Nazeer Malik',
                  '35202-2953923-3',
                  'Khalid Nazeer Malik',
                  '35202-2235390-5')"; 
cmd.ExecuteNonQuery(); 
con.Close(); 
}

4 个答案:

答案 0 :(得分:0)

错误只是意味着您在为其分配连接之前尝试使用SqlCommand

请检查。如果您在此处包含代码部分,那么它将更有用。

答案 1 :(得分:0)

您没有为命令添加连接:

cmd.Connection = con;

答案 2 :(得分:0)

此代码应该可以解决您的问题:

using(SqlConnection con = new SqlConnection("CHANGE_THIS_TO_YOUR_CONNECTIONSTRING")){
SqlCommand cmd = con.CreateCommand(); 
cmd.CommandText="insert into dbo.Student_Record(ID,Name,[Father's CNIC],[Father's Name],CNIC) values ('BCSF11A003','Zargham Nazeer Malik','35202-2953923-3','Khalid Nazeer Malik','35202-2235390-5')"; 
cmd.ExecuteNonQuery();  

} 

您必须将CHANGE_THIS_TO_YOUR_CONNECTIONSTRING更改为连接字符串。 请参阅:https://www.connectionstrings.com/sql-server/了解如何找到正确的字符串。

答案 3 :(得分:0)

我会这样做,包括所有常用的最佳做法:

// define the query - you should use **parameters** to avoid SQL injection
string query = "insert into dbo.Student_Record(ID, Name, [Father's CNIC], [Father's Name], CNIC) values ('BCSF11A003', 'Zargham Nazeer Malik', '35202-2953923-3', 'Khalid Nazeer Malik', '35202-2235390-5');";

// define connection string - typically read from config
string connectionString = "";

// create connection and command objects, set the "conn" connection on the "cmd" object in the constructor
using (SqlConnection conn = new SqlConnection(connectionString))
using (SqlCommand cmd = new SqlCommand(query, conn))
{
    // open connection, execute command, close connection
    conn.Open();
    cmd.ExecuteNonQuery();
    conn.Close();
}