日期:2014-05-18  浏览次数:20687 次

SqlParameter问题请高手帮忙修改
C# code

SqlConnection thisConn = new SqlConnection("server=.;uid=sa;pwd=;database=x6");
        thisConn.Open();
        string MySql = "insert into student (name,age,sex,score) values (@name,@age,@sex,@score)";
        SqlCommand thisComm = new SqlCommand(MySql, thisConn);
        SqlParameter name = new SqlParameter("@name", SqlDbType.Char, 50);
        SqlParameter age = new SqlParameter("@age", SqlDbType.Int, 50);
        SqlParameter sex = new SqlParameter("@sex", SqlDbType.Char, 50);
        SqlParameter score = new SqlParameter("@score", SqlDbType.Int, 50);
        thisComm.Parameters.Add(name);
        thisComm.Parameters.Add(age);
        thisComm.Parameters.Add(sex);
        thisComm.Parameters.Add(score);
        name.Value = "西毒";
        age.Value = "40";
        sex.Value = "男";
        score.Value = "88";
        thisComm.ExecuteNonQuery();
        thisConn.Close();


如果那个表有100+个字段,那么SqlParameter不是要写N长...
请高手帮我修改一下……


------解决方案--------------------
SqlParameter[] params=new SqlParameter[]{new SqlParameter("@name", SqlDbType.Char, 50)
,
new SqlParameter("@name", SqlDbType.Char, 50)
};

params[0].Value=name;
params[1].Value=name;
thisComm.Parameters.AddRange(params);
这是最简便的了
------解决方案--------------------
thisComm.Parameters.Add("@name", SqlDbType.Char, 50).Value="西毒";
thisComm.Parameters.Add("@age", SqlDbType.Int, 50).Value=40;
thisComm.Parameters.Add("@sex", SqlDbType.Char, 50).Value="男";
thisComm.Parameters.Add("@score", SqlDbType.Int, 50).Value="88";
这样可以缩小一点点。hoho。