2013-06-02 80 views
7

Tôi đang sử dụng this video để thử và điền các kết quả từ một số DataGridView và đang nhận được lỗi ở trên. Đoạn mã dưới đây liên quan đến lỗi này - tôi chuyển các giá trị vào một thủ tục lưu sẵn, sau đó SELECT cuối cùng trả về các giá trị trong bảng trong DataGridView.Lỗi C#: "Điền: Thuộc tính SelectCommand.Connection chưa được khởi tạo."

 SqlConnection con = new SqlConnection(); 
     con.ConnectionString = "integrated security=SSPI;data source=SERV;" + "persist security info=False;initial catalog=DB"; 

     con.Open(); 
     SqlCommand select = new SqlCommand("SELECT * FROM Table"); 
     SqlCommand enter = new SqlCommand("sp_Proc", con); 

     // Stored Procedure 
     enter.CommandType = CommandType.StoredProcedure; 
     enter.Parameters.Add(new SqlParameter("@vvalue", SqlDbType.VarChar)).Value = Convert.ToString(txt1.Text); 
     enter.Parameters.Add(new SqlParameter("@dvalue", SqlDbType.Decimal)).Value = Convert.ToDecimal(txt2.Text); 
     enter.ExecuteNonQuery(); 

     // DataGrid returns the SELECT 

     SqlDataAdapter sadapt = new SqlDataAdapter(select); 
     sadapt.SelectCommand = select; 
     DataTable dtab = new DataTable(); 
     sadapt.Fill(dtab); // generates the error 
     BindingSource b = new BindingSource(); 
     b.DataSource = dtab; 
     dGrid.DataSource = b; 
     sadapt.Update(dtab); 

     con.Close(); 
+0

Lỗi nào cung cấp cho bạn? –

Trả lời

13

Bạn không vượt qua đối tượng connection trên command. Hãy thử điều này đối tượng kết nối thay vào đó,

SqlCommand select = new SqlCommand("SELECT * FROM Table", con); 
+0

Cảm ơn; bộ mắt của bạn bắt gặp lỗi của tôi. – user123

+0

bạn được chào đón ':)' –

+0

@JohnWoo: Nó cũng giúp tôi .. !! +1 :) – BNN

1

Bạn đang đi đến bạn nhập lệnh nhưng didnt vượt qua các đối tượng kết nối để bạn chọn lệnh

SqlCommand select = new SqlCommand("SELECT * FROM Table"); 
    SqlCommand enter = new SqlCommand("sp_Proc", con); 

Sử dụng này

SqlCommand select = new SqlCommand("SELECT * FROM Table",con); 
Các vấn đề liên quan