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;
... ....
}
请高手为我填上程序缺失的部分,我想用数据库中的存储过程,实现添加学生的功能。 展开
数据库中的学生表
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;
... ....
}
请高手为我填上程序缺失的部分,我想用数据库中的存储过程,实现添加学生的功能。 展开
5个回答
展开全部
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(); //执行存储过程
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(); //执行存储过程
展开全部
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();
唉,写得太过详细了
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啦!
1.创建连接字符串string SqlConnectionString="";
2.实例化连接SqlConnection cn = new SqlConnectio(SqlConnectionString);
3.SqlCommand cmd = new SqlCommand("存储过程的名字", cn);
4.执行命令cmd.cmd.ExecuteNonQuery();(这个方法根据你的存储过程而定)
应该这样就OK啦!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
与普通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里面存储过程返回的结果集了 }
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上搜一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询