cmd参数的语法错误

时间:2010-03-26 13:37:03

标签: sql

在这个方法中,我只是将值添加到数据库中。

temp是一个对象。 对象中的字段值和变量具有相同的名称..

请忽略此错误信息

PLZ

帮帮我......

public virtual void Save_input_parameter_details(Test_Unit_BLL temp )
        {
            SqlConnection con;
            con = new SqlConnection("Data Source=VV;Initial Catalog=testingtool;User ID=sa;Password=sa;");
            con.Open();
            SqlCommand cmd, cmd2, cmd3;
    //try
    //{

            for (int i = 0; i < temp.No_Input_parameters; i++)
            {
                cmd2 = new SqlCommand("insert into Input_parameter_details values(@Input_Parameter_name,@Input_Parameter_datatype,@noparams,@class_code", con);
                cmd2.Parameters.AddWithValue("@Input_Parameter_datatype", temp.Input_Parameter_datatype[i]);
                cmd2.Parameters.AddWithValue("@Input_Parameter_name", temp.Input_Parameter_name[i]);
                cmd2.Parameters.AddWithValue("@noparams", temp.No_Input_parameters);
                cmd2.Parameters.AddWithValue("@class_code",temp.class_code);
                cmd2.ExecuteNonQuery();
            }
        //}
            //catch (Exception ex)
            //    {
            //        MessageBox.Show("error"+ex);
            //    }
        }

2 个答案:

答案 0 :(得分:0)

它可能会因为尝试将数据推入的未知实际列序列而失败。您暗示的是第一个X列。您可能需要在SQL中明确,例如:

insert into YourTable ( Fld1, Fld2, Fld3 ) values (@ParmVal1, @ParmVal2, @ParmVal3 );

然后使用值执行您的parameters.add ...此外,您可能希望确保添加的参数与SQL语句列出的顺序相同。

答案 1 :(得分:0)

表中的列是否与列出的参数对齐(1st = input_parameter_name,2nd = input_parameter_datatype等)?