public static void Add_Order(DataTable tbl)
        { 
        
           SqlConnection con=GetConnect();
           SqlCommand com = new SqlCommand("insert into [Order](Pro_Name,Pro_Num,Customer_Name,Data_Out) values(@proname,@num,@cname,@dataout) ", con);
          
           com.Parameters.Add("proname", SqlDbType.VarChar,50,"Pro_Name");
           com.Parameters.Add("num", SqlDbType.Int,16,"Pro_Num");
           com.Parameters.Add("cname", SqlDbType.VarChar,50,"Customer");
           com.Parameters.Add("dataout", SqlDbType.DateTime,10,"Data_Out");
           SqlDataAdapter adapter = new SqlDataAdapter();
           adapter.InsertCommand = com;
           con.Open();
          
           adapter.Update(tbl);
           con.Close();
        
        }

解决方案 »

  1.   

    会抛出异常,“参数化查询 '(@proname varchar(50),@num int,@cname varchar(50),@dataout datet' 需要参数 '@cname',但未提供该参数。”
    这是怎么回事?该怎么改啊?
      

  2.   

     com.Parameters.Add("@proname", SqlDbType.VarChar,50,"Pro_Name");
      com.Parameters.Add("@num", SqlDbType.Int,16,"Pro_Num");
      com.Parameters.Add("@cname", SqlDbType.VarChar,50,"Customer");
      com.Parameters.Add("@dataout", SqlDbType.DateTime,10,"Data_Out");
      SqlDataAdapter adapter = new SqlDataAdapter();
      

  3.   

    数据库字段Customer_Name是不是为not null
      

  4.   

    数据库字段Customer_Name    是为not null
      

  5.   

    @cname传的时候不要传NULL进去
      

  6.   

     com.Parameters.Add("@cname", SqlDbType.VarChar,50,"Customer_Name");
      

  7.   

    是不是没有执行 cmd.ExecuteNonQuery();