sql 存储过程查询语句

没用存储过程前 查询语句都是这样写的
SELECT nickname,email FROM testtable WHERE name='张三'
用了存储过程之后应该怎么写呢?
也就是说 存储过程在.net中 应该怎么执行呢?(连接数据库的代码已经写完了)

use MYTextDB ----------使用MYTextDB数据库
CREATE PROCEDURE dbo.getUserList ------------创建存储过程
as
set nocount on
begin -------------开始
select * from dbo.tbl_User -------------------定义SQL语句
end
go
EXEC dbo.getUserList ---------------执行存储过程
在.NET的代码中调用:
'**通过Command对象调用存储过程**
DIM MyComm,MyRst
Set MyComm = Server.CreateObject("ADODB.Command")
MyComm.ActiveConnection = MyConStr 'MyConStr是数据库连接字串
MyComm.CommandText = "getUserList" '指定存储过程名
MyComm.CommandType = 4 '表明这是一个存储过程
MyComm.Prepared = true '要求将SQL命令先行编译
Set MyRst = MyComm.Execute
Set MyComm = Nothing

存储过程取得的记录集赋给MyRst,接下来,可以对MyRst进行操作。
在以上代码中,CommandType属性表明请求的类型,取值及说明如下:
-1 表明CommandText参数的类型无法确定

1 表明CommandText是一般的命令类型
2 表明CommandText参数是一个存在的表名称
4 表明CommandText参数是一个存储过程的名称

还可以通过Connection对象或Recordset对象调用存储过程,方法分别如下:

'**通过Connection对象调用存储过程**
DIM MyConn,MyRst
Set MyConn = Server.CreateObject("ADODB.Connection")
MyConn.open MyConStr 'MyConStr是数据库连接字串
Set MyRst = MyConn.Execute("getUserList",0,4) '最后一个参断含义同CommandType
Set MyConn = Nothing

'**通过Recordset对象调用存储过程**
DIM MyRst
Set MyRst = Server.CreateObject("ADODB.Recordset")
MyRst.open "getUserList",MyConStr,0,1,4
'MyConStr是数据库连接字串,最后一个参断含义与CommandType相同
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-18
在数据库中先创建存储过程!具体代码如下:
create proc sp_GetTesttableByname --sp_GetTesttableByname代表存储过程名称
as
begin
SELECT nickname,email FROM testtable WHERE name='张三' --存数过程的查询语句
end
go
exec sp_GetTesttableByname; --查询存储过程结果

按下F5执行以上代码之后 然后再在项目中写调用存储过程语句!希望我的回答对你有所帮助,谢谢采纳!追问

我就是想知道 这个调用语句应该怎么写 一般不是把连接语句 和执行语句什么的 写在一个类里 然后使用这个类吗 使用这个类的时候 再写上select语句 现在这个类已经写好了 使用也就是调用的时候 怎么写啊

追答

咱QQ上说吧!把你的告诉我我加你!

追问

524937295

第2个回答  2011-08-18
CREATE PROCEDURE 存储过程名字 AS
begin
SELECT nickname,email FROM testtable WHERE name='张三'
end
如果仅仅是这一句查询是没有必要用存储过程的,
存储过程只不过是提前编译好的sql语句,不用每次都去编译,所以针对是复杂的sql ,可提高效率
第3个回答  2011-08-18
CREATE PROCEDURE 存储过程名字 AS
SELECT nickname,email FROM testtable WHERE name='张三'追问

写的时候还是那么麻烦还多了几个字“CREATE PROCEDURE 存储过程名字 AS”那使用存储过程有什么好处呢?