狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

ASP存儲過程使用大全

admin
2010年7月3日 14:25 本文熱度 6098
1,調用沒有參數的存儲過程[br]<%[br]set conn=server.createobject("adodb.connection")[br]set cmd=server.createobject("adodb.command")[br]strconn="dsn=pubs;uid=sa;pwd" [p]conn.open strconn[br]set cmd.activeconnection=conn[/p] [p]cmd.commandtext="{call nono}"[/p] [p]'set rs=cmc.exe 或者cmd.execute[/p] [p]set rs=cmd.execute()[/p] [p]%>[br]2,一個輸入的參數的存儲過程[br]<%[br]set conn=server.createobject("adodb.connection")[br]set cmd=server.createobject("adodb.command")[br]strconn="dsn=pubs;uid=sa;pwd"[/p] [p]conn.open strconn[br]set cmd.activeconnection=conn[/p] [p]cmd.commandtext="{call oneinput(?)}"[br]cmd.parameters.append cmd.createparameter("@aaa",adinteger ,adparaminput )[br]cmd("@aaa")=100[/p] [p]cmd.execute()[/p] [p]%>[br]3,一個輸入參數和一個輸出的參數[br]<%[br]set conn=server.createobject("adodb.connection")[br]set cmd=server.createobject("adodb.command")[br]strconn="dsn=pubs;uid=sa;pwd"[/p] [p]conn.open strconn[br]set cmd.activeconnection=conn[/p] [p]cmd.commandtext = "{call oneinout(?,?)}"[br]cmd.parameters.append cmd.createparameter("@aaa",adinteger,adparaminput)[br]cmd("@aaa")=10[br]cmd.parameters.append cmd.createparameter("@bbb",adinteger,adparamoutput)[/p] [p]cmd.execute()[/p] [p]bbb=cmd("@bbb")[br]%>[br]4,一個輸入參數,一個輸出參數,和一個返回值[br]<%[br]set conn=server.createobject("adodb.connection")[br]set cmd=server.createobject("adodb.command")[br]strconn="dsn=pubs;uid=sa;pwd"[/p] [p]conn.open strconn[br]set cmd.activeconnection=conn[/p] [p]cmd.commandtext="{?=call onereturn(?,?)}"[/p] [p]cmd.parameters.append cmd.createparameter("@return_value",adinteger,adparamreturnvalue )[br]cmd.parameters.append cmd.createparameter("@aaa",adinteger,adparaminput )[br]cmd("@aaa")=10[br]cmd.parameters.append cmd.createparameter("@bbb",adinteger,adparamoutput)[/p] [p]cmd.execute()[/p] [p]bbb=cmd("@bbb")[br]rrr=cmd("@return_value")[br]%>[/p] [p][/p] [p][/p] [p][/p] [p][br][b]如何在asp中調用sql存儲過程[/b][/p] [p]<%set connection1 = server.createobject("adodb.connection")[br]connection1.open ... '聯接[br]set command1=server.createobject("adodb.command") [br]set command1.activeconnection=connection1[br]command1.commandtype=4 [br]command1.commandtext="sp_1" 'sp 名[br]command1.parameters(1)=... '參數值[br]command1.parameters(2)=...[br]set recordset1=command1.execute()[br]%>[/p] [p][/p] [p][/p] [p][b]asp調用存儲過程的技巧[/b][/p] [p][br]1、最簡單的如下[br] dim objconn[br] set objconn = server.createobject("adobd.connection")[br] objconn.open application("connection_string")[br] 'call the stored procedure to increment a counter on the page[br] objconn.execute "exec sp_addhit"[br] 沒有參數,沒有返回,沒有錯誤處理,就是這個了[br] [br] 2、帶參數的一種調用[br] objconn.execute "exec sp_addhit 'http://aspalliance.com', 1"[br] 請注意分割參數,該方法也不返回記錄[br] [br] 3、返回記錄的[br] dim objconn[br] dim objrs[br] set objconn = server.createobject("adobd.connection")[br] set objrs = server.createobject("adobd.recordset")[br] objconn.open application("connection_string")[br] 'call the stored procedure to increment a counter on the page[br] objrs.open objconn, "exec sp_listarticles '1/15/2001'"[br] 'loop through recordset and display each article[br] 4、……[br] dim objconn[br] dim objcmd[br] [br] 'instantiate objects[br] set objconn = server.createobject("adodb.connection")[br] set objcmd = server.createobject("adodb.command")[br] conn.open application("connectionstring")[br] [br] with objcmd[br] .activeconnection = conn 'you can also just specify a connection string here[br] .commandtext = "sp_insertarticle" [br] .commandtype = adcmdstoredproc 'requires the adovbs.inc file or typelib meta tag[br] [br] 'add input parameters[br] .parameters.append .createparameter("@columnist_id", addouble, adparaminput, , columnist_id)[br] .parameters.append .createparameter("@url", advarchar, adparaminput, 255, url)[br] .parameters.append .createparameter("@title", advarchar, adparaminput, 99, url)[br] .parameters.append .createparameter("@description", adlongvarchar, _[br] adparaminput, 2147483647, description)[br] [br] 'add output parameters[br] .parameters.append .createparameter("@link_id", adinteger, adparamoutput, , 0)[br] [br] 'execute the function[br] 'if not returning a recordset, use the adexecutenorecords parameter option[br] .execute, , adexecutenorecords[br] link_id = .parameters("@link_id")[br] end with[br] [br] 5、存儲過程的代碼[br] create procedure dbo.sp_insertarticle[br] ([br] @columnist_id int,[br] @url varchar(255),[br] @title varchar(99),[br] @description text[br] @link_id int output[br] )[br] as[br] begin[br] insert into dbo.t_link (columnist_id,url,title,description)[br] values (@columnist_id,@url,@title,@description)[br] [br] select @link_id = @@identity[br] end[/p] [p][/p] [p][/p] [p][/p] [p][/p] [p][/p] [p][/p] [p][b]asp調用帶參數存儲過程的幾種方式[/b] [br][br][br]最近有很多的朋友問到調用存儲過程的問題,這里簡單介紹幾種asp調用帶參數存儲過程的方法。[/p] [p]1 這也是最簡單的方法,兩個輸入參數,無返回值:[br]set connection = server.createobject("adodb.connection")[br]connection.open somedsn [br]connection.execute "procname varvalue1, varvalue2"[/p] [p]''將所有對象清為nothing,釋放資源[br]connection.close[br]set connection = nothing[/p] [p][br]2 如果要返回 recordset 集:[br]set connection = server.createobject("adodb.connection")[br]connection.open somedsn [br]set rs = server.createobject("adodb.recordset")[br]rs.open "exec procname varvalue1, varvalue2",connection[/p] [p]''將所有對象清為nothing,釋放資源[br]rs.close[br]connection.close[br]set rs = nothing[br]set connection = nothing[/p] [p][br]3 以上兩種方法都不能有返回值,(recordset除外),如果要得到返回值,需要用command的方法。[br]首先說明,返回值有兩種。一種是在存儲過程中直接return一個值,就象c和vb的函數返回值那樣;另一種是可以返回多個值,存[br]儲這些值的變量名稱需要在調用參數中先行指定。[br]這個例子要處理多種參數,輸入參數,輸出參數,返回記錄集以及一個直接返回值(夠全了吧?)[br]存儲過程如下:[/p] [p]use pubs[br]go[/p] [p]-- 建立存儲過程[br]create procedure sp_pubstest[/p] [p]-- 定義三個參數變量,注意第三個,特別標記是用于輸出[br]@au_lname varchar (20), [br]@intid int,[br]@intidout int output[/p] [p]as[/p] [p]select @intidout = @intid + 1[/p] [p]select * [br]from authors [br]where au_lname like @au_lname + ''%''[/p] [p]--直接返回一個值[br]return @intid + 2[/p] [p][br]調用該存儲過程的asp程序如下:[/p] [p]<%@ language=vbscript %>[br]<%[br]dim cmdsp[br]dim adors[br]dim adcmdspstoredproc[br]dim adparamreturnvalue[br]dim adparaminput[br]dim adparamoutput[br]dim adinteger[br]dim ival[br]dim oval[br]dim adofield[br]dim advarchar[/p] [p]‘這些值在 vb 中是預定義常量,可以直接調用,但在 vbscript 中沒有預定義[br]adcmdspstoredproc = 4[br]adparamreturnvalue = 4[br]adparaminput = 1[br]adparamoutput = 2[br]adinteger = 3[br]advarchar = 200[/p] [p]ival = 5[br]oval = 3[/p] [p]''建一個command對象[br]set cmdsp = server.createobject("adodb.command")[/p] [p]''建立連結[br]cmdsp.activeconnection = "driver={sql server};server=(local);uid=sa;pwd=;database=pubs"[/p] [p]''定義command 對象調用名稱 [br]cmdsp.commandtext = "sp_pubstest"[/p] [p]''設置command調用類型是存儲過程 (adcmdspstoredproc = 4)[br]cmdsp.commandtype = adcmdspstoredproc[/p] [p]''往command 對象中加參數[br]''定義存儲過程有直接返回值,并且是個整數,省缺值是4[br]cmdsp.parameters.append cmdsp.createparameter("return_value", adinteger, adparamreturnvalue, 4)[br]''定義一個字符型輸入參數[br]cmdsp.parameters.append cmdsp.createparameter("@au_lname", advarchar, adparaminput, 20, "m")[br]''定義一個整型輸入參數[br]cmdsp.parameters.append cmdsp.createparameter("@intid", adinteger, adparaminput, , ival)[br]''定義一個整型輸出參數[br]cmdsp.parameters.append cmdsp.createparameter("@intidout", adinteger, adparamoutput, oval)[/p] [p]''運行存儲過程,并得到返回記錄集[br]set adors = cmdsp.execute[/p] [p][br]''把每個記錄打印出來,其中的字段是虛擬的,可以不用管[br]while not adors.eof[/p] [p]for each adofield in adors.fields[br]response.write adofield.name & "=" & adofield.value & "
" & vbcrlf[br]next[br]response.write "
"[br]adors.movenext[br]wend[/p] [p]''打印兩個輸出值:[br]response.write "

@intidout = “ & cmdsp.parameters("@intidout").value & "

"[br]response.write "

return value = " & cmdsp.parameters("return_value").value & "

"[/p] [p][br]''大掃除[br]set adors = nothing[br]set cmdsp.activeconnection = nothing[br]set cmdsp = nothing[br]%>[/p] [p]此外還有其他方式,稍微偏門一些,以后慢慢再說,本文參考了多篇文章,這里不一一列出。[/p] [p][/p] [p][/p] [p][/p] [p][/p] [p][/p] [p][/p] [p][/p] [p][/p] [p][/p] [p][/p] [p][/p] [p][/p] [p]  [b]在asp中使用存儲過程[/b][/p] [p]  為了提高asp程序的效率,有時需要在asp中使用使用sql server的存儲技術,下面簡單作一個介紹。[/p] [p]  存儲過程的建立[/p] [p]  這里只簡單介紹如何在sql server的企業管理器中如何建立存儲過程:[/p] [p](1)打開企業管理器enterprise manager[/p] [p](2)選擇服務器組(sql server group)、服務器、[url=http://ninedns.com/webhosting/mssql.asp]數據庫[/url](database)以及相就的[url=http://ninedns.com/webhosting/mssql.asp]數據庫[/url],鼠標右擊對應[url=http://ninedns.com/webhosting/mssql.asp]數據庫[/url]下的stored procdures項,在彈出的菜單中選擇new stored procedure,在stored procedures properties中輸入建立存儲過程的語句。下面是一個例子:[/p] [p][br]  create procedure proctest @mycola char(10),@mycolb char(10),@mycolc text  as[/p] [p]  insert into chatdata (mycola,mycolb,mycolc) values(@mycola,@mycolb,@mycolc)[/p] [p]在sql server的文檔中它的語法為:[/p] [p]  create proc[edure] procedure_name [;number]   [[/p] [p]  [url=mailto:%7b@parameter][u]{@parameter[/u][/url] data_type} [varying] [= default] [output]   ][/p] [p]  [,...n]  [with    {   recompile   | encryption[/p] [p]  | recompile, encryption   }  ]  [for replication]  as[/p] [p]   sql_statement [...n][/p] [p]  如果你對sql語法不熟悉,可以使用check syntax來檢查語法。在上例中,表示建立存儲過程名為mycola,帶3個參數的存儲過過程,其中第一個參數mycola數據類型為char,寬度10;第2個參數數據類型為char,寬度為10,第3個參數數據類型為text,在這里使用的是sql server的數據類型。[/p] [p]  存儲過程建立后,下面就是如何在asp程序中調用該存儲過程:在asp中調用存儲過程 為了提高asp程序的效率,有時需要在asp中使用使用sql server的存儲技術,下面簡單作一個,在上面的增加參數的語句p.append cm.createparameter("@mycolc",201,1,250)中,格式為:[/p] [p]p.append cm.createparameter("參數名稱",類型,方向,大小)[/p] [p]參許參數值的類型的意義如下:[/p] [p]名稱值 整數值 功能[/p] [p][br]  addbtimestamp 135 日期時間數據類型[/p] [p]  addecimal 14 十進制整數值[/p] [p]  addouble 5 雙精度小數值[/p] [p]  aderror 10 系統錯誤信息[/p] [p]adguid 72 全域性唯一識別字(globally unique identifier)[/p] [p]addispath 9 com/ole自動對象(automation object)[/p] [p]adinteger 3 4字節有符號整數[/p] [p]adiunknown 13 com/ole對象[/p] [p]adlongvarbinary 205 大型2字節值[/p] [p]adlongvarchar 201 大型字符串值[/p] [p]adlongvarwchar 203 大型未編碼字符串[/p] [p]adnumeric 131 十進制整數值[/p] [p]adsingle 4 單精度浮點小數[/p] [p]adsmallint 2 2字節有符號整數[/p] [p]adtinyint 16 1字節有符號整數[/p] [p]adunsignedbigint 21 8字節無符號整數[/p] [p]adunsignedint 19 4字節無符號整數[/p] [p]adunsignedsmallint 18 2字節無符號整數[/p] [p]adunsignedtinyint 17 1字節無符號整數[/p] [p]aduserdefined 132 用戶自定義數據類型[/p] [p]advariant 12 ole對象[/p] [p]advarbinary 204 雙字節字符變量值[/p] [p]advarchar 200 字符變量值[/p] [p]advarchar 202 未編碼字符串變量值[/p] [p]adwchar 130 未編碼字符串[/p] [p][br]方向值的意義如下:[/p] [p][br]名稱值 整數值 功能[/p] [p][br]adparaminput 1 允許數據輸入至該參數當中[/p] [p]adparamoutput 2 允許數據輸出至該參數當中[/p] [p]adparaminputoutput 3 允許數據輸入、輸出至該參數當中[/p] [p]adparamreturnvalue 4 允許從一子程序中返回數據至該參數當中[/p] [p]更多詳細資源請參考sql server的文檔和iis的文檔資源。[/p]

該文章在 2010/7/3 14:25:34 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved