.net mysql增删改查_.NET使用存储过程实现对数据库的增删改查

本文介绍了如何使用.NET通过存储过程来实现对MySQL数据库的增删改查操作。首先创建了名为ad的存储过程用于添加学生信息,接着新建WebForm1.aspx页面并编写Add_Click事件来调用存储过程。类似的,创建了查询存储过程ss,并在Select_Click事件中执行查询。同时,展示了更新ud和删除de的存储过程及对应的.NET代码。
摘要由CSDN通过智能技术生成

一、整体思路

先建立存储过程,再通过.net 调用存储过程,来实现对表的增删改查。

二、新建数据库及存储过程

打开SqlServer2008,新建数据库orm1,及表Student。

80e9374cebe27d1f299015e63a9f5514.png

数据库和表建立好我们现在来建立存储过程。

存储过程 ad :新增学生信息

CREATE PROCEDURE ad

@sidchar(10) ,

@snamechar(10),

@sageintAS

insert into Student values(@sid,@sname,@sage)

RETURN0

第一句 ad 代表的是存储过程的名字,AS之前的@sid、@sname、@sage 为输入或输出参数,默认是输入参数,如果需要设置为输出参数,则需要在参数后面添加 OUTPUT,也就是这样:

@sname char(10) OUTPUT,

还有就是仔细看你会发现,最后一个参数是末尾是不需要加逗号的!

那么现在我们来执行下这个存储过程,是否正确。

在SqlServer2008中,选中该存储过程,右键 执行存储过程 ,会弹出输入窗口,输入对应的学生信息,点确定即可运行。

37037deb9b4b79631acdfd005225a10a.png

执行后,查看数据库,发现新增的信息已经插入数据库,代表新建存储过程成功!

3b37a0c639217bf287963847810bef7f.png

三、.NET调用存储过程

先新建 WebForm1.aspx 文件

学号:
姓名:
年龄:

新增学生信息

然后,打开对应的 cs 文件,编写新增方法 Add_Click

protected void Add_Click(objectsender, EventArgs e)

{

String constr= "Data Source=.;database=orm1;Integrated Security=True";

SqlConnection con= new SqlConnection(constr); //新建连接

con.Open(); //打开连接

SqlCommand cmd = con.CreateCommand(); //创建sqlCommand对象

cmd.CommandText = "ad"; //调用存储过程 ad

cmd.CommandType = CommandType.StoredProcedure; //设置cmd的执行类型为存储过程

cmd.Parameters.AddWithValue("@sid", sid.Text); //设置参数并赋值

cmd.Parameters.AddWithValue("@sname", sname.Text); //设置参数并赋值

cmd.Parameters.AddWithValue("@sage", int.Parse(sage.Text)); //设置参数并赋值

if (cmd.ExecuteNonQuery() > 0) //执行存储过程

{

Response.Write("添加成功!");

}else{

Response.Write("添加失败");

}

con.Close();//关闭连接

}

运行这段代码就可以执行存储过程了。

查询学生信息

新增功能完成了,现在我们来看看如何实现查询学习信息的功能吧。

同样是先建存储过程 ss。

CREATE PROCEDURE ss

@sidchar(10)

AS

BEGIN

SELECT* FROM Student WHERE @sid =Student.sid

END

调用存储过程 ss

protected void Select_Click(objectsender, EventArgs e)

{

String constr= "Data Source=.;Initial Catalog=orm1;Integrated Security=True";

SqlConnection con= newSqlConnection(constr);

con.Open();//打开连接

SqlCommand cmd = new SqlCommand("ss", con); //使用存储过程

cmd.CommandType = CommandType.StoredProcedure; //设置Command对象的类型

SqlParameter spr; //表示执行一个存储过程

spr = cmd.Parameters.Add("@sid", SqlDbType.NChar,10); //增加参数id

cmd.Parameters["@sid"].Value = sid.Text; //为参数初始化

GridView1.DataSource = cmd.ExecuteReader(); //执行存储过程并将数据绑定在GridView

GridView1.DataBind();

con.Close();//关闭存储过程

}

这次我们运行程序看下效果吧

我们输入我们前面新建的sid 200,点击查询

7a1682f1a9436be680deab38850e018e.png

到这里,相信大家应该能了解如何使用.net 调用存储过程了,所以,修改、删除功能我就直接贴代码了。

修改学生信息

CREATE PROCEDURE ud

@sid nchar(10) ,

@sname nchar(10),

@sageintAS

update Studentset Student.sname=@sname,Student.sage=@sage where Student.sid=@sid

RETURN0

protected void Update_Click(objectsender, EventArgs e)

{

String constr= "data source=.;database=orm1;Integrated Security=true";

SqlConnection con= newSqlConnection(constr);

con.Open();

SqlCommand cmd=con.CreateCommand();

cmd.CommandText= "ud";

cmd.CommandType=CommandType.StoredProcedure;

cmd.Parameters.AddWithValue("@sid", sid.Text);

cmd.Parameters.AddWithValue("@sname", sname.Text);

cmd.Parameters.AddWithValue("@sage", int.Parse(sage.Text));if (cmd.ExecuteNonQuery() >0)

{

Response.Write("修改成功");

}else{

Response.Write("修改失败");

}

con.Close();

}

删除学生信息

CREATE PROCEDURE de

@sidchar(10)

AS

delete FROM Student WHERE @sid= Student.sid

protected void Delete_Click(objectsender, EventArgs e)

{

String constr= "Data Source=.;database=orm1;Integrated Security=True";

SqlConnection sqlConnection= newSqlConnection(constr);

sqlConnection.Open();

SqlCommand cmd=sqlConnection.CreateCommand();

cmd.CommandText= "de";

cmd.CommandType=CommandType.StoredProcedure;

SqlParameter spr;

spr= cmd.Parameters.Add("@sid", SqlDbType.NChar, 10);

cmd.Parameters["@sid"].Value =sid.Text;if (cmd.ExecuteNonQuery() > 0)

{

Response.Write("删除成功!");

}else{

Response.Write("删除失败");

}

sqlConnection.Close();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值