asp.net如何调用sql server数据库中的存储过程

=================数据库===================数据库中的学生表createtabletb_student(studentIdchar(11... =================数据库===================
数据库中的学生表
create table tb_student
(
studentId char(11),
studentName char(10),
classId char(9),
primary key(studentId),
foreign key(classId) references tb_class(classId)
)
建的触发器
create proc sp_InsertStudent
@studentId char(11), @studentName char(11),@classId char(11)
as
insert into tb_student(studentId,studentName,classId) values (@studentId,@studentName,@classId)

================ASP.NET================

<div>
<table>
<tr>
<td>添加学生</td>
</tr>
<tr>
<td>学号:<asp:TextBox ID="txtStudentId" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td>姓名:<asp:TextBox ID="txtStudentName" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td>班级编号:<asp:TextBox ID="txtClassId" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td>
<asp:Button ID="btnAdd" runat="server" Text="添加" onclick="btnAdd_Click" />
</td>
</tr>
</table>
</div>
后台代码
protected void btnAdd_Click(object sender, EventArgs e)
{
string studentId = txtStudentId.Text;
string stuentName = txtStudentName.Text;
string classId = txtClassId.Text;

... ....
}
请高手为我填上程序缺失的部分,我想用数据库中的存储过程,实现添加学生的功能。
展开
 我来答
百度网友8b1b6824b
2011-09-27 · TA获得超过2121个赞
知道小有建树答主
回答量:554
采纳率:100%
帮助的人:303万
展开全部
string str = "server='(local)';database='mydatabase';uid='sa';pwd='Sa'";
SqlConnection con = new SqlConnection(str);
con.Open(); //打开连接
SqlCommand cmd = new SqlCommand("sp_InsertStudent", con); //使用存储过程
cmd.CommandType = CommandType.StoredProcedure; //设置Command对象的类型为执行一个存储过程
SqlParameter spr; // 创建参数对象
spr = cmd.Parameters.Add("@studentId", SqlDbType.NChar,11); //增加参数sid
spr = cmd.Parameters.Add("@studentName", SqlDbType.NChar,11); //增加参数sname
spr = cmd.Parameters.Add("@classId", SqlDbType.NChar,11); //增加参数cid
cmd.Parameters["@studentId"].Value = studentid; //给参数赋值
cmd.Parameters["@studentName"].Value = studentname; //给参数赋值
cmd.Parameters["@classId"].Value = classid; //给参数赋值
cmd.ExecuteNonQuery(); //执行存储过程
zjhbdsk
2011-09-26 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:103
采纳率:0%
帮助的人:65.1万
展开全部
string sql = 数据库连接字符串;
SqlConnection mysql = new SqlConnection(sql);
SqlCommand cmd = new SqlCommand("sp_InsertStudent ",mysql);
SqlParameter[] paras = {new SqlParameter("@studentId "),studentid,.....}//给参数赋值
cmd.Parameters.AddRange(paras);
cmd.CommandType = CommandType.StoredProcedure;
mysql.Open();
int effectCount = cmd.ExecuteNonQuery();
mysql.Close();
唉,写得太过详细了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-09-23
展开全部
其实调用存储过程和调用普通的sql语句的过程是一样的。
1.创建连接字符串string SqlConnectionString="";
2.实例化连接SqlConnection cn = new SqlConnectio(SqlConnectionString);
3.SqlCommand cmd = new SqlCommand("存储过程的名字", cn);
4.执行命令cmd.cmd.ExecuteNonQuery();(这个方法根据你的存储过程而定)
应该这样就OK啦!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
PK梦想无限
2011-09-24
知道答主
回答量:8
采纳率:0%
帮助的人:4万
展开全部
与普通sql的不太一样的
SqlConnection mysql = new SqlConnection(sql); SqlCommand cmd = new SqlCommand("name"); cmd.Parameters.Add("@ID", SqlDbType.Int).Value = ID;//你需要的值 cmd.Connection = mysql; cmd.CommandType = CommandType.StoredProcedure; mysql.Open(); SqlDataReader dr = mycmd.ExecuteReader(); mysql.Close(); while (dr.Read()) { //这里就是得到DataReader里面存储过程返回的结果集了 } mysql.Close(); while (dr.Read()) { //这里就是得到DataReader里面存储过程返回的结果集了 }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-09-23
展开全部
不知道哦,你上csdn上搜一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式