如何制作 ASP + MSSQL 的存储过程
请问该如何制作存储过程
表:stock
字段:id Part MF DC Pack Qty Packing Explain Company
全部为 (字符型号)
以下为代码:
----------------------------------------------------------------
set rs=server.CreateObject("adodb.recordset")
sql="select id,Part,MF,DC,Pack,Qty,Packing,Explain,Company from stock"
rs.open sql,conn,1,1
................
分页代码........
具体的制作、调用,还要用搜索页面进行搜索 谢谢!
问题点数:100、回复次数:7Top
1 楼dh20156(风之石)回复于 2006-03-04 16:51:20 得分 0
搜索[分页][搜索]Top
2 楼danjingwu(寒夜孤风,我是菜鸟^_^)回复于 2006-03-04 16:54:49 得分 30
CREATE procedure p_splitpage
@sql nvarchar(4000),
@page int=1,
@pagesize int,
@pageCount int=0 output,
@recordCount int=0 output
as
set nocount on
declare @p1 int
exec sp_cursoropen @p1 output,@sql,@scrollopt=1,@ccopt=1,@rowcount=@pagecount output
set @recordCount=@pageCount
select @pagecount=ceiling(1.0*@pagecount/@pagesize)
,@page=(@page-1)*@pagesize+1
exec sp_cursorfetch @p1,16,@page,@pagesize
exec sp_cursorclose @p1
GO
'通过存储过程调用数据库的数据
'sql为查询语句,m_pagesize为页面显示行,rst为记录集,totalpages为分多少页,num为多少条记录,curpage为当前页数
Sub SelectDB(sql,m_pageSize,rst,totalpages,num,curpage)
if curpage = "" then
curpage = Trim(Request.Form("pageno"))
if curpage = "" then
curpage = Trim(Request.QueryString("pageno"))
end if
if curpage = "" then
curpage = 1
end if
end if
Set cmd = Server.CreateObject("ADODB.Command")
cmd.ActiveConnection = conn
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "p_SplitPage"
cmd.Parameters.Append cmd.CreateParameter("@sql", adVarWChar, adParamInput, 4000, sql)
cmd.Parameters.Append cmd.CreateParameter("@page", adInteger, adParamInput, 4, curpage)
cmd.Parameters.Append cmd.CreateParameter("@pageSize", adInteger, adParamInput, 4, m_pageSize)
cmd.Parameters.Append cmd.CreateParameter("@pageCount", adInteger, adParamOutput, 4, totalpages)
cmd.Parameters.Append cmd.CreateParameter("@recordCount", adInteger, adParamOutput, 4, num)
'Response.Write sql&"<br>"
set rst = cmd.Execute
set rst = rst.NextRecordSet
totalpages = cmd.Parameters("@pageCount").value
num = cmd.Parameters("@recordCount").value
if totalpages = 0 then totalpages = 1
End SubTop
3 楼liuxiaoyi666(MSMVP 小猪妹荣誉马甲之八卦兔子)回复于 2006-03-04 17:25:34 得分 10
http://www.knowsky.com/18699.htmlTop
4 楼xingxueying(xingxueying)回复于 2006-03-08 11:25:55 得分 0
请问能否给出实际些的代码,以及使用,感激不尽!Top
5 楼ivan19820109(流星雨)回复于 2006-03-08 12:00:43 得分 30
1 SQL Server 存储过程:
数据库: Test ; 数据表: Test ; 帐号: sa ; 密码: 123456
--------------------------------------------------
CREATE procedure udp_TestAdd
@snNo varchar(10) ,
@sName varchar(12) ,
@sDate Date
as
Insert into Test(snNo, sName, sDate)
Values(@snNo, @sName, @sDate)
Go
--------------------------------------------------
2 Asp程序开发:
' 取From表单值:
dim snNo, sName, sDate
snNo = Request.From("snNo")
sName = Request.From("sName")
sDate = Date
dim con, conn, strSQL
con = "Provider=SQLOLEDB; Server=localhost; Database=Test; Uid=sa; Pwd=123456"
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open con
' 拼写SQL
strSQL = "Exec udp_TestAdd '" & snNo & "', '" & sName & "', '" & sDate & "' "
' 执行存储过程
conn.Execute(strSQL)
Set conn = Nothing
Top
6 楼kafly(王者)回复于 2006-03-08 13:14:06 得分 30
sql="select id,Part,MF,DC,Pack,Qty,Packing,Explain,Company from stock"
具体的制作、调用,还要用搜索页面进行搜索
不如让别人帮你设计个程序得了,哎,谁叫俺心肠好。
你要先说说需要哪些存储过程
先给你个简单的例子:
根据id查询part
存储过程名:id2part
CREATE PROCEDURE id2part
@id char(10)
AS
select part from stock
where id=@id
GO
调用方式:(前提,定义了数据连接conn)
set rs=conn.execute("id2part "&id)
response.write rs("id")
Top
7 楼znjgress(四空和尚)回复于 2006-03-08 13:33:59 得分 0
要学会用baidu这个工具Top




