ExecuteScalar:尚未初始化Connection属性

alt*_*raz 3 sql-server-2008 c#-4.0

为了运行executeScalar,我在互联网上尝试了很多建议,但是我得到了错误ExecuteScalar: Connection property has not been initialized.我的INSERT查询工作正常,问题在于executeScalar.

conn.Open();
SqlCommand cmd = new SqlCommand(
    "INSERT INTO Products (Product_Name,Product_BarCode,Product_CP,Product_SP,
                           Product_Countainer,Product_Pcs,Product_MFGDate,
                           Product_ExpiryDate,Product_Grade)
     Values ('" + Name.Text + "','" + BarCode.Text + "','" + CostP.Value + "','" + 
             SellingP.Value + "','" + Countainer.Value + "','" + Pcs.Value + "','" + 
             MfgDate.Value + "','" + ExpDate.Value + "','" + Grade.SelectedItem + "')", 
     conn);
cmd.ExecuteNonQuery();
conn.Close();
Run Code Online (Sandbox Code Playgroud)
conn.Open();
cmd.Connection = conn;
cmd = new SqlCommand("Select SUM(Product_CP) From Products AS Ammount");
Ammount = (double)cmd.ExecuteScalar();
MessageBox.Show(Ammount.ToString());
conn.Close();
Run Code Online (Sandbox Code Playgroud)

SLa*_*aks 12

cmd = new SqlCommand(...);
Run Code Online (Sandbox Code Playgroud)

由于错误明确指出,此命令没有连接.

  • +1我错误地认为将事务分配给命令就足够了,因为事务有连接.但不,我需要将命令的连接设置为命令事务的连接属性. (2认同)