2024年4月11日发(作者:)

调用SQL Server 存储过程

使用存储过程的优点:

1.存储过程在数据库中经过了预编译,相比而言比函数和纯SQL执行的效率更高

2.存储过程在网络上传输的数据量比纯SQL语句少.

3.存储过程隐藏数据执行的细节,使数据更加安全

数据库的基本操作分为增,删,改,查四种,其中增删改三种是对数据进行操作, 是直接影响数据,

执行操作后,会返回受影响的行数, 但是查不同,查并没有影响到数据本身, 只是返回了一个结

果集展示给用户,因此可以将增删改分为一类,查为一类 . 而在中调用SQL的方式

也有所不同..

增删改:

在执行普通的SQL语句时,会直接使用SqlConnection类和SqlCommand类,

SqlConnection 是SQL Server数据库的链接类(不能被继承), 可以创建一个对象来链接数据库,

SqlCommand类表示对SQL Server数据库执行操作, 同样不能被继承. 使用这两个类必须要导

入环境, using ent;

SqlConnection类的使用, 创建一个数据库链接对象,提供链接方式作构造参数, 如下面:

private static string sql=” server=服务器名字;databsae=链接的数据库; uid=sa; pwd=登录

密码”;//链接方式

public static SqlConnectio co=new SqlConnectio(sql);//创建一个链接对象

类的使用, 创建一个执行对象, 设置属性的相关属性执行不同的语句和方式 常用属性方

法如下:

CommandType属性设置如何解释SQL语句

CommandText属性设置执行的SQL语句内容

Connection属性设置执行的链接对象

ExecuteNonQuery()方法返回受影响的行数

ExecuteScalar()方法执行查询结果返回第一行第一列,忽略其他结果

ExecuteReader()方法,提交

CommandText属性

并返回一个SqlDataReader类

的对象

下面通过几个示例讲解下使用方法:

Demo_DB 里面有一张userInfo表 数据如下:

存储过程代码如下: (删除表中Id最大的一条记录)

窗体如图:

一. 调用增删改的存储过程

1. 无参数示例:

Button1代码如下:

private void button1_Click(object sender, EventArgs e)

{

string sql = "proc_DeleteLastUser";//过程名字

SqlCommand cmd = new SqlCommand();//执行对象

dType = Procedure;//设置解释方法为存储过程

dText = sql;//设置执行语句

tion = ;//执行的链接 为SqlConnection对

();//打开数据库

int count = (int)eNonQuery();//返回受影响行数

if (count > 0)

{

("执行成功!");

}

();//关闭

}

运行结果: