存储过程的定义:
ALTER PROCEDURE [dbo].[addStuinfo]
@name varchar(50),
@age int,
@sex varchar(10),
@address varchar(50)
AS
insert into stuinfo(name,age,sex,address)
values(@name,@age,@sex,@address)
******************************************************
存储过程一个简单的例子:
int addnum = 0;
try
{
//打开数据库连接
DBHelper.con.Open();
//创建执行命令
SqlCommand cmd = new SqlCommand("addStuinfo", DBHelper.con);
//指定使用的存储过程
cmd.CommandType = CommandType.StoredProcedure;
//传递过程参数
cmd.Parameters.AddWithValue("@name", this.txtName.Text);
cmd.Parameters.AddWithValue("@age", txtAge.Text);
cmd.Parameters.AddWithValue("@sex", cboSex.Text);
cmd.Parameters.AddWithValue("@address", txtAddress.Text);
addnum = cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
DBHelper.con.Close();
}
//判断
if (addnum>0)
{
MessageBox.Show("添加成功");
}
else
{
MessageBox.Show("添加失败");
}
########################################################
protected void Button1_Click(object sender, EventArgs e)
{
string str = "server=.\\sqlexpress;uid = sa;pwd=sasasa;database = myschool";
using (SqlConnection conn = new SqlConnection(str))
{
SqlCommand cmd = new SqlCommand("usp_addscore", conn);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
conn.Open();
try
{
cmd.Parameters.Add("@return", System.Data.SqlDbType.Int);//参数添加完默认是输入参数
cmd.Parameters.Add("@scoreline", SqlDbType.Int);
cmd.Parameters.Add("@addscore", SqlDbType.Int);
cmd.Parameters.Add("@stuname", SqlDbType.VarChar,10);
cmd.Parameters["@return"].Direction = System.Data.ParameterDirection.ReturnValue;
cmd.Parameters["@stuname"].Direction = ParameterDirection.Output;
cmd.Parameters["@scoreline"].Value = 70;
cmd.Parameters["@addscore"].Value = 2;
//cmd.ExecuteNonQuery();
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds.Tables[0].DefaultView;
GridView2.DataSource = ds.Tables[1].DefaultView;
this.DataBind();
Label1.Text = "执行成功!返回值是"+cmd.Parameters["@return"].Value.ToString();
Label2.Text = string.Format("最高得分者:{0}", cmd.Parameters["@stuname"].Value.ToString());
}
catch (Exception ex)
{
Label1.Text = "出错!"+ex.Message;
}
}
浙公网安备 33010602011771号