
ASP.NET C#存储过程的用法
我定义了这几个参数:int@xs_id=Convert.ToInt32(TextBox1.Text);string@xs_name=TextBox2.Text;int@x...
我定义了这几个参数: int @xs_id = Convert.ToInt32(TextBox1.Text);
string @xs_name = TextBox2.Text;
int @xs_age = Convert.ToInt32(TextBox3.Text);
int @xs_sex = Convert.ToInt32(RadioButtonList1.SelectedValue);
string @xs_major = TextBox5.Text;
string @xs_class = TextBox6.Text;
string @xs_tel = TextBox7.Text;
存储过程:REATE PROCEDURE insertxs_info
@xs_id int,
@xs_name nvarchar(50),
@xs_age int,
@xs_sex int,
@xs_major nvarchar(50),
@xs_class nvarchar(50),
@xs_tel bigint
as
insert into xs_info values(@xs_id,@xs_name,@xs_age,@xs_sex,@xs_major,@xs_class,@xs_tel)
GO
完整代码: SqlConnection cn = new SqlConnection(consql.Class1.connstr);
SqlCommand cm = new SqlCommand();
cm.CommandType = CommandType.StoredProcedure;
cm.CommandText = "insertxs_info";
cm.Connection = cn;
cn.Open();
SqlDataAdapter da = new SqlDataAdapter(cm);
cm.ExecuteNonQuery();
this.Label8.Text = "OK!";
cn.Close();
为什么还提示:过程 'insertxs_info' 需要参数 '@xs_id',但未提供该参数。 展开
string @xs_name = TextBox2.Text;
int @xs_age = Convert.ToInt32(TextBox3.Text);
int @xs_sex = Convert.ToInt32(RadioButtonList1.SelectedValue);
string @xs_major = TextBox5.Text;
string @xs_class = TextBox6.Text;
string @xs_tel = TextBox7.Text;
存储过程:REATE PROCEDURE insertxs_info
@xs_id int,
@xs_name nvarchar(50),
@xs_age int,
@xs_sex int,
@xs_major nvarchar(50),
@xs_class nvarchar(50),
@xs_tel bigint
as
insert into xs_info values(@xs_id,@xs_name,@xs_age,@xs_sex,@xs_major,@xs_class,@xs_tel)
GO
完整代码: SqlConnection cn = new SqlConnection(consql.Class1.connstr);
SqlCommand cm = new SqlCommand();
cm.CommandType = CommandType.StoredProcedure;
cm.CommandText = "insertxs_info";
cm.Connection = cn;
cn.Open();
SqlDataAdapter da = new SqlDataAdapter(cm);
cm.ExecuteNonQuery();
this.Label8.Text = "OK!";
cn.Close();
为什么还提示:过程 'insertxs_info' 需要参数 '@xs_id',但未提供该参数。 展开
3个回答
展开全部
你为参数赋值的方法错了。。。。你不能直接int @xs_id = Convert.ToInt32(TextBox1.Text)这样为参数赋值啊!
在你:cn.Open(); 后面加
cm.Parameters.Add(new SqlParameter("@xs_id",Convert.ToInt32(TextBox1.Text)));这才是正确方法,你的其他几个参数赋值方法同上。。。。
在你:cn.Open(); 后面加
cm.Parameters.Add(new SqlParameter("@xs_id",Convert.ToInt32(TextBox1.Text)));这才是正确方法,你的其他几个参数赋值方法同上。。。。
展开全部
SqlConnection cn = new SqlConnection(consql.Class1.connstr);
SqlCommand cm = new SqlCommand();
cm.CommandType = CommandType.StoredProcedure;
cm.CommandText = "insertxs_info";
SqlParameter[] pra = new SqlParameter[] {
new SqlParameter("@xs_id",SqlDbType.Int,5,"你要加的参数,也就是TEXTBOX中的参数") ,
new SqlParameter("@xs_Name",SqlDbType.Int,5,"") ,
};
cm.Parameters.AddRange(pra);
SqlCommand cm = new SqlCommand();
cm.CommandType = CommandType.StoredProcedure;
cm.CommandText = "insertxs_info";
SqlParameter[] pra = new SqlParameter[] {
new SqlParameter("@xs_id",SqlDbType.Int,5,"你要加的参数,也就是TEXTBOX中的参数") ,
new SqlParameter("@xs_Name",SqlDbType.Int,5,"") ,
};
cm.Parameters.AddRange(pra);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给你我写的一段代码:
foreach (SqlParameter sp in values) {
sp.Direction = ParameterDirection.Input;
comm.Parameters.Add(sp);
}
//values is SqlParameter[]
//comm is SqlCommand
foreach (SqlParameter sp in values) {
sp.Direction = ParameterDirection.Input;
comm.Parameters.Add(sp);
}
//values is SqlParameter[]
//comm is SqlCommand
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询