sql 存储过程查询语句
没用存储过程前查询语句都是这样写的SELECTnickname,emailFROMtesttableWHEREname='张三'用了存储过程之后应该怎么写呢?也就是说存储...
没用存储过程前 查询语句都是这样写的
SELECT nickname,email FROM testtable WHERE name='张三'
用了存储过程之后应该怎么写呢?
也就是说 存储过程在.net中 应该怎么执行呢?(连接数据库的代码已经写完了) 展开
SELECT nickname,email FROM testtable WHERE name='张三'
用了存储过程之后应该怎么写呢?
也就是说 存储过程在.net中 应该怎么执行呢?(连接数据库的代码已经写完了) 展开
4个回答
展开全部
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相同
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相同
展开全部
在数据库中先创建存储过程!具体代码如下:
create proc sp_GetTesttableByname --sp_GetTesttableByname代表存储过程名称
as
begin
SELECT nickname,email FROM testtable WHERE name='张三' --存数过程的查询语句
end
go
exec sp_GetTesttableByname; --查询存储过程结果
按下F5执行以上代码之后 然后再在项目中写调用存储过程语句!希望我的回答对你有所帮助,谢谢采纳!
create proc sp_GetTesttableByname --sp_GetTesttableByname代表存储过程名称
as
begin
SELECT nickname,email FROM testtable WHERE name='张三' --存数过程的查询语句
end
go
exec sp_GetTesttableByname; --查询存储过程结果
按下F5执行以上代码之后 然后再在项目中写调用存储过程语句!希望我的回答对你有所帮助,谢谢采纳!
更多追问追答
追问
我就是想知道 这个调用语句应该怎么写 一般不是把连接语句 和执行语句什么的 写在一个类里 然后使用这个类吗 使用这个类的时候 再写上select语句 现在这个类已经写好了 使用也就是调用的时候 怎么写啊
追答
咱QQ上说吧!把你的告诉我我加你!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CREATE PROCEDURE 存储过程名字 AS
begin
SELECT nickname,email FROM testtable WHERE name='张三'
end
如果仅仅是这一句查询是没有必要用存储过程的,
存储过程只不过是提前编译好的sql语句,不用每次都去编译,所以针对是复杂的sql ,可提高效率
begin
SELECT nickname,email FROM testtable WHERE name='张三'
end
如果仅仅是这一句查询是没有必要用存储过程的,
存储过程只不过是提前编译好的sql语句,不用每次都去编译,所以针对是复杂的sql ,可提高效率
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CREATE PROCEDURE 存储过程名字 AS
SELECT nickname,email FROM testtable WHERE name='张三'
SELECT nickname,email FROM testtable WHERE name='张三'
追问
写的时候还是那么麻烦还多了几个字“CREATE PROCEDURE 存储过程名字 AS”那使用存储过程有什么好处呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询