C#调用sql2000存储过程方法小结_C#教程-查字典教程网
C#调用sql2000存储过程方法小结
C#调用sql2000存储过程方法小结
发布时间:2016-12-28 来源:查字典编辑
摘要:本文实例总结了C#调用sql2000存储过程方法,分享给大家供大家参考。具体实现方法如下:调试环境:VS.NET2005,SQL2000,W...

本文实例总结了C#调用sql2000存储过程方法,分享给大家供大家参考。具体实现方法如下:

调试环境:VS.NET 2005,SQL 2000,WINDOWS XP sp2。

语言:C#

一、调用带输入参数的存储过程

首先自然是在查询分析器里创建一个存储过程喽~~ 如下所示:

复制代码 代码如下:create proc proc_1

@uid int,

@pwd varchar(255)

as

select UserName from users where uid = @uid and PassWord = @pwd

go

接下来我们就来看下如何在VS 2005中使用C#调用这个存储过程。

方法一:

复制代码 代码如下:SqlConnection conn = new SqlConnection("server=(local);database=sql1;uid=sa;pwd=");

conn.Open();//打开数据库连接

SqlCommand cmd = new SqlCommand("exec proc_1 @uid=1,@pwd=admin", conn);//Command中写调用存储过程的语句

//大家应该看出来了和直接在查询分析器中执行很类似,“exec 存储过程名 @参数1=参数值,@参数2=参数值”

SqlDataReader sdr = cmd.ExecuteReader();//执行存储过程

while (sdr.Read())

{

Response.Write(sdr["UserName"].ToString());//输出查询到的值

}

sdr.Close();

conn.Close();

方法二:

复制代码 代码如下:SqlConnection conn = new SqlConnection("server=(local);database=sql1;uid=sa;pwd=");

conn.Open();//打开数据库连接

SqlCommand cmd = new SqlCommand("proc_1", conn);//存储过程名

cmd.CommandType = CommandType.StoredProcedure;//设置命令类型为存储过程

SqlParameter[] param = new SqlParameter[]{

new SqlParameter("uid", SqlDbType.Int, 4),

new SqlParameter("pwd", SqlDbType.VarChar,255),

};//定义参数,这些是存储过程中要调用的参数,也可以通过直接使用cmd.AddWithValue方法添加参数

param[0].Value = 1;//给参数赋值

param[1].Value = "admin";

cmd.Parameters.AddRange(param);//一定要记得将刚定义的参数添加到cmd的参数中,不然前面的参数就白弄了。

string sname =(string)cmd.ExecuteScalar();//如果存储过程返回的是单个值,我们可以直接这样取出所要的值

Response.Write(sname);

sdr.Close();

conn.Close();

二、调用带输出参数的存储过程

上面所讲的只是调用输入参数的存储过程,下面大概讲一下如何调用有输出参数的存储过程。

首先,我们先对之前的存储过程修改一下,如下所示:

复制代码 代码如下:create proc proc_1

@uid int,

@pwd varchar(255),

@UserName varchar(255) output --这里我们增加一个输出变量,记得加上output

as

select @UserName=UserName from users where uid = @uid and PassWord = @pwd

go

--以下是在查询分析器中调用的方法

declare @n varchar(255) --声明一个变量用来传递参数

exec proc_1 1,admin,@n output --注,要标记为output变量

print @n

下面我们看看在VS.NET 中的调用方式:

复制代码 代码如下:SqlConnection conn = new SqlConnection("server=(local);database=sql1;uid=sa;pwd=");

conn.Open();

SqlCommand cmd = new SqlCommand("proc_1", conn);

cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.AddWithValue("uid", 1);

cmd.Parameters.AddWithValue("pwd", "admin");

cmd.Parameters.Add("username", SqlDbType.VarChar, 255);

cmd.Parameters["username"].Direction = ParameterDirection.Output;//设置参数为输出参数

cmd.ExecuteNonQuery();

string sname = (string)cmd.Parameters["username"].Value;//获取输出参数的值

Response.Write(sname);

conn.Close();

这样,便很简单的实现了调用存储过程的方法。

希望本文所述对大家的C#程序设计有所帮助。

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新C#教程学习
    热门C#教程学习
    编程开发子分类