當前位置:首頁 » 編程語言 » aspsql案例
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

aspsql案例

發布時間: 2023-04-30 01:43:06

① 請教,有人用ASP幫我寫個簡單的查詢sql和修改SQL數據的例子么

加入數據:insert into A(a,b)values("aa","bb")
查詢:select form abc where a="aa"
'資料庫連接
DataFile=Server.MapPath("123.mdb")
Set Conn=Server.CreateObject("Adodb.Connection"陪擾)
Conn.ConnectionString="Driver={Microsoft Access Driver (*.mdb)};DBQ="&DataFile
Conn.Open
'更新
SqlStr="Update abc Set doc_a="&a&",doc_b='"&b&"',doc_c='"&c&"' Where doc_id=1"
Conn.Execute(SqlStr)
'添銀亂橡加
SqlStr="鋒旁insert into A(doc_a,doc_b,doc_c)values("&a&",'"&b&"','"&c&"')"
Conn.Execute(SqlStr)
'查詢
Set Rs=Conn.Execute("Select d_id,d_name From d Where d_fid="&fid&" order by d_order")

② ASP編程實例

ASP編程實例大全

ASP簡單、易於維護 , 是小型頁面應用程序的選擇 ,在使用DCOM (Distributed Component Object Model)和 MTS(Microsoft Transaction Server)的情況下, ASP甚至可以實現中等規模的企業應用程序。那麼asp編程中有哪些實例比較常用呢?下面我為大家匯總ASP編程中慶昌則20個非常有用的例子,一起來學習吧!

1.如何用Asp判斷你的網站的虛擬物理路徑

答:使用Mappath方法

<%= Server.MapPath("")%>

2.我如何知道使用者所用的瀏覽器?

答:使用the Request object方法

strBrowser=Request.ServerVariables("HTTP_USER_AGENT")

If Instr(strBrowser,"MSIE") <> 0 Then

Response.redirect("ForMSIEOnly.htm")

Else

Response.redirect("ForAll.htm")

End If

3.如何計算每天的平均反復訪問人數

答:解決方法

<% startdate=DateDiff("d",Now,"01/01/1990")

if strdate<0 then startdate=startdate*-1

avgvpd=Int((usercnt)/startdate) %>

顯示結果

<% response.write(avgvpd) %>

that is it.this page have been viewed since November 10,1998

4.如何顯示隨機圖象

<% dim p,ppic,dpic

ppic=12

randomize

p=Int((ppic*rnd)+1)

dpic="graphix/randompics/"&p&".gif"

%>

顯示

<img src="<%=dpic%>">

5.如何回到先前的頁面

答:<a href="<譽棚%=request.serverVariables("Http_REFERER")%>">preivous page</a>

或用圖片如:<img src="arrowback.gif" alt="<%=request.serverVariables("HTTP_REFERER")%>">

6.如何確定對方的IP地址

答:<%=Request.serverVariables("REMOTE_ADDR)%>

7.如何鏈結到一副圖片上

答:<% @Languages=vbs cript %>

<% response.expires=0

strimagename="graphix/errors/erroriamge.gif"

response.redirect(strimagename)

%>

8.強迫輸入密碼對話框

答:把這句話放載頁面的開頭

<% response.status="401 not Authorized"

response.end

%>

9.如何傳遞變數從一頁到另一頁

答:用 HIDDEN 類型來傳遞變數

<% form method="post" action="mynextpage.asp">

<% for each item in request.form %>

<input namee="<%=item%>迅悔" type="HIDDEN"

value="<%=server.HTMLEncode(Request.form(item)) %>">

<% next %>

</form>

10.為何我在 asp 程序內使用 msgbox,程序出錯說沒有許可權

答:由於 asp 是伺服器運行的,如果可以在伺服器顯示一個對話框,那麼你只好等有人按了確定之後,你的程序才能繼續執行,而一般伺服器不會有人守著,所以微軟不得不禁止這個函數,並胡亂告訴你 (:) 呵呵) 沒有許可權。但是ASP和客戶端腳本結合倒可以顯示一個對話框,as follows:

<% yourVar="測試對話框"%>

<% script language=javas cript>

alert("<%=yourvar%>")

</script>

11.有沒有辦法保護自己的源代碼,不給人看到

答:可以去下載一個微軟的Windows s cript Encoder,它可以對asp的腳本和客戶端javas cript/vbs cript腳本進行加密。。。不過客戶端加密後,只有ie5才能執行,伺服器端腳本加密後,只有伺服器上安裝有s cript engine 5(裝一個ie5就有了)才能執行。

12.怎樣才能將 query string 從一個 asp 文件傳送到另一個?

答:前者文件加入下句: Response.Redirect("second.asp?" & Request.ServerVariables("QUERY_STRING"))

13.global.asa文件總是不起作用?

答:只有web目錄設置為web application, global.asa才有效,並且一個web application的根目錄下 global.asa才有效。IIS4可以使用Internet Service Manager設置application setting 怎樣才能使得htm文件如同asp文件一樣可以執行腳本代碼?

14.怎樣才能使得htm文件如同asp文件一樣可以執行腳本代碼?

答:Internet Sevices Manager -> 選擇default web site ->右鼠鍵->菜單屬性-〉主目錄-> 應用程序設置(Application Setting)-> 點擊按鈕 "配置"-> app mapping ->點擊按鈕"Add" -> executable browse選擇 WINNTSYSTEM32INETSRVASP.DLL EXTENSION 輸入 htm method exclusions 輸入PUT.DELETE 全部確定即可。但是值得注意的是這樣對htm也要由asp.dll處理,效率將降低。

15.如何注冊組件

答:有兩種方法。

第一種方法:手工注冊 DLL 這種方法從IIs 3.0一直使用到IIs 4.0和其它的Web Server。它需要你在命令行方式下來執行,進入到包含有DLL的目錄,並輸入:regsvr32 component_name.dll 例如 c: emp egsvr32 AspEmail.dll 它會把dll的特定信息注冊入伺服器中的注冊表中。然後這個組件就可以在伺服器上使用了,但是這個方法有一個缺陷。當使用這種方法注冊完畢組件後,該組件必須要相應的設置NT的匿名帳號有許可權執行這個dll。特別是一些組件需要讀取注冊表,所以,這個注冊組件的方法僅僅是使用在伺服器上沒有MTS的情況下,要取消注冊這個dll,使用:regsvr32 /u aspobject.dll example c: emp egsvr32 /u aneiodbc.dll

第二種方法:使用MTS(Microsoft Transaction Server) MTS是IIS 4新增特色,但是它提供了巨大的改進。MTS允許你指定只有有特權的用戶才能夠訪問組件,大大提高了網站伺服器上的安全性設置。在MTS上注冊組件的步驟如下:

1) 打開IIS管理控制台。

2) 展開transaction server,右鍵單擊"pkgs installed"然後選擇"new package"。

3) 單擊"create an empty package"。

4) 給該包命名。

5) 指定administrator帳號或則使用"interactive"(如果伺服器經常是使用administrator 登陸的話)。

6) 現在使用右鍵單擊你剛建立的那個包下面展開後的"components"。選擇 "new then component"。

7) 選擇 "install new component" 。

8) 找到你的`.dll文件然後選擇next到完成。

要刪除這個對象,只要選擇它的圖標,然後選擇delete。

附註:特別要注意第二種方法,它是用來調試自己編寫組件的最好方法,而不必每次都需要重新啟動機器了。

16. ASP與Access資料庫連接:

<%@ language=VBs cript%>

<%

dim conn,mdbfile

mdbfile=server.mappath("資料庫名稱.mdb")

set conn=server.createobject("adodb.connection")

conn.open "driver={microsoft access driver (*.mdb)};uid=admin;pwd=資料庫密碼;dbq="&mdbfile

%>

17. ASP與SQL資料庫連接:

<%@ language=VBs cript%>

<%

dim conn

set conn=server.createobject("ADODB.connection")

con.open "PROVIDER=SQLOLEDB;DATA SOURCE=SQL伺服器名稱或IP地址;UID=sa;PWD=資料庫密碼;DATABASE=資料庫名稱

%>

建立記錄集對象:

set rs=server.createobject("adodb.recordset")

rs.open SQL語句,conn,3,2

18. SQL常用命令使用方法:

(1) 數據記錄篩選:

sql="select * from 數據表 where 欄位名=欄位值 order by 欄位名 [desc]"

sql="select * from 數據表 where 欄位名 like %欄位值% order by 欄位名 [desc]"

sql="select top 10 * from 數據表 where 欄位名 order by 欄位名 [desc]"

sql="select * from 數據表 where 欄位名 in (值1,值2,值3)"

sql="select * from 數據表 where 欄位名 between 值1 and 值2"

(2) 更新數據記錄:

sql="update 數據表 set 欄位名=欄位值 where 條件表達式"

sql="update 數據表 set 欄位1=值1,欄位2=值2 …… 欄位n=值n where 條件表達式"

(3) 刪除數據記錄:

sql="delete from 數據表 where 條件表達式"

sql="delete from 數據表" (將數據表所有記錄刪除)

(4) 添加數據記錄:

sql="insert into 數據表 (欄位1,欄位2,欄位3 …) valuess (值1,值2,值3 …)"

sql="insert into 目標數據表 select * from 源數據表" (把源數據表的記錄添加到目標數據表)

(5) 數據記錄統計函數:

AVG(欄位名) 得出一個表格欄平均值

COUNT(*|欄位名) 對數據行數的統計或對某一欄有值的數據行數統計

MAX(欄位名) 取得一個表格欄最大的值

MIN(欄位名) 取得一個表格欄最小的值

SUM(欄位名) 把數據欄的值相加

引用以上函數的方法:

sql="select sum(欄位名) as 別名 from 數據表 where 條件表達式"

set rs=conn.excute(sql)

用 rs("別名") 獲取統的計值,其它函數運用同上。

(5) 數據表的建立和刪除:

CREATE TABLE 數據表名稱(欄位1 類型1(長度),欄位2 類型2(長度) …… )

例:CREATE TABLE tab01(name varchar(50),datetime default now())

DROP TABLE 數據表名稱 (永久性刪除一個數據表)

19. 記錄集對象的方法:

rs.movenext 將記錄指針從當前的位置向下移一行

rs.moveprevious 將記錄指針從當前的位置向上移一行

rs.movefirst 將記錄指針移到數據表第一行

rs.movelast 將記錄指針移到數據表最後一行

rs.absoluteposition=N 將記錄指針移到數據表第N行

rs.absolutepage=N 將記錄指針移到第N頁的第一行

rs.pagesize=N 設置每頁為N條記錄

rs.pagecount 根據 pagesize 的設置返回總頁數

rs.recordcount 返回記錄總數

rs.bof 返回記錄指針是否超出數據表首端,true表示是,false為否

rs.eof 返回記錄指針是否超出數據表末端,true表示是,false為否

rs.delete 刪除當前記錄,但記錄指針不會向下移動

rs.addnew 添加記錄到數據表末端

rs.update 更新數據表記錄

20、 Recordset對象方法

Open方法

recordset.Open Source,ActiveConnection,CursorType,LockType,Options

Source

Recordset對象可以通過Source屬性來連接Command對象。Source參數可以是一個Command對象名稱、一段SQL命令、一個指定的數據表名稱或是一個Stored Procere。假如省略這個參數,系統則採用Recordset對象的Source屬性。

ActiveConnection

Recordset對象可以通過ActiveConnection屬性來連接Connection對象。這里的ActiveConnection可以是一個Connection對象或是一串包含資料庫連接信息(ConnectionString)的字元串參數。

;

③ 急求ASP連接SQL SERVER的例子, 要簡單點的,給個注釋吧, 謝謝了!在線等

set conn=server.createobject("鉛跡帆槐雹ADODB.connection")
conn.open "PROVIDER=SQLOLEDB;DATA SOURCE=127.0.0.1;UID=sa;PWD=123456;DATABASE=myweb"州櫻

④ 求一個asp與sql資料庫連接的應用實例,越簡單越好。

創建資料庫連接對象
<%
set dxm=server.CreateObject("adodb.connection")
blm="driver=sql server;server=你計算機的IP地址;database=web;uid=sa;pwd="
dxm.open blm
%>

uid=sa;pwd= 你可以打開你的查詢分析器看看他是用什麼身份驗證的
如果不是sa和空密碼就自己設置一個用戶.

dxm和blm是自己定的對象名和變數名

添加數據:
<%
set sql=server.CreateObject("adodb.recordset")
sql.open "select * from 表名",dxm,1,3 '這里是全表查詢

sql.addnew
sql("欄位名")=要添加的數據(如果是用表單提交就用 request.form("表單文本框名稱") )

你有幾個欄位就添加幾次(例如:sql("name")=request.from("username"))

sql.update
%>

上面是添加數據的方法,現在該查詢了:
<%
set sql=server.CreateObject("adodb.recordset")
sql.open "select * from 表名",dxm,1,3 '這里是全表查詢
%>
在你想要顯示的地方做上<%=sql("欄位名")%>就可以了.

刪除:
將添加數據那裡的代碼改為:
<%set sql=server.CreateObject("adodb.recordset")
sql.open "select * from 表名 where 條件",dxm,1,3

sql.delete
%>

條件 就是例如name=小張 等等類似的

改:同添加一樣
將添加中的sql.addnew去掉
改為:sql.update
代碼如下:
<%
set sql=server.CreateObject("adodb.recordset")
sql.open "select * from 表名",dxm,1,3 '這里是全表查詢

sql.update
sql("欄位名")=要更改的數據(如果是用表單提交就用 request.form("表單文本框名稱") )

你改幾個欄位就寫幾次(例如:sql("name")=request.from("username")
sql("sex")=request.from("sex"))

%>

這是用sql語句的對象做的,下面給你一些增、刪、改、查 的代碼

增:
全表添加:insert into 表名 values (值1,值2,……值n)
部分欄位添加:
insert into 表名(欄位1,欄位2,……欄位n) values(值1,值2,……值n)

刪:delete from 表名 where 條件
改:update 表名 set 欄位名1=新值1,欄位名2=新值2,……where 條件
查:select * from (全表查詢)
select * from 表名 where 條件 (帶條件查詢)

⑤ Asp.net怎樣把DataList的數據循環添加到sql資料庫 最好有例子

for(int i=0;i<this.DataList.Items.count;i++)
{
Label LbId=(Label)this.DataList.Items[i].FindControl("LbId");
Label LbName=(Label)this.DataList.Items[i].FindControl("戚頃尺LbName");
string sql="insert into tb_name(Id,Name) values('"+LaId.Text+"','"+LbName.Text+"',)";
//在此操乎友作改SQL語句即可高高,有問題HI我

}

⑥ 誰能給我一個ASP+SQL的存儲過程的應用事例感激不盡

一、使用Command對象和Parameter對譽虛御象傳遞參數

本講將主要使用Microsoft SQL Server7.0資料庫,先建立一個連接文件AdoSQL7.asp備用,以後用到時不再特別說明。

<% ''AdoSQL7.asp

Option Explicit

Response.Expires = 0

''第一部分: 建立連接

Dim Cnn, StrCnn

Set Cnn = Server.CreateObject("ADODB.Connection")

StrCnn = "Provider=sqloledb; User ID=sa; Password=; Initial Catalog=pubs; Data Source=ICBCZJP"

Cnn.Open StrCnn

%>

注意:自己使用時要將Data Source設為你的資料庫伺服器所在的機器名。

另外,以前使用Access資料庫時,用Microsoft Access97可以很方便的查看欄位及數據,而使用SQL Server資料庫,尤其是並不在資料庫伺服器,而是在另一台機器上調試ASP腳本時,要查看欄位及數據便需另外安裝工具,這里向你提慶岩供一個工具:Msqry32.exe(Microsoft Query),這個文件隨Office97安裝,一般位於目錄「Microsoft Office\Office」下。

例wuf70.asp:

<%@ LANGUAGE="VBSCRIPT" %>

<!--#include file="AdoSQL7.asp"-->

譽芹<!--#include file="adovbs.inc"-->

<% '' wuf70.asp

Dim cmdTest, prmTest, rsTest

''創建 Command 對象

Set cmdTest = Server.CreateObject("ADODB.Command")

『Recordset、Command對象都可以通過ActiveConnection屬性來連接Connection對象

cmdTest.ActiveConnection = Cnn

''SQL命令 - 含兩個參數, 用 ? 表示

cmdTest.CommandText = "Update jobs Set job_desc = ? Where job_id = ?"

''設命令類型為 SQL 語句

cmdTest.CommandType = adCmdText

''Prepared 屬性決定是否將 SQL 命令先行編譯,將其設為True,可以加快運行

cmdTest.Prepared = True

''創建 Parameter 對象

Set prmTest=cmdTest.CreateParameter("job_desc",adVarChar,adParamInput,50,"網路")

''將數據追加到 Parameters 數據集合中

cmdTest.Parameters.Append prmTest

Set prmTest = cmdTest.CreateParameter("job_id",adSmallInt,adParamInput,,"12")

cmdTest.Parameters.Append prmTest

''執行修改 – 不需要返回結果,簡單的使用cmdTest.Execute 就可以了

cmdTest.Execute

''重新設置參數運行 – 便可修改另一條數據

cmdTest.Parameters("job_id") = "1"

cmdTest.Parameters("job_desc") = "測試"

cmdTest.Execute

''重新設置參數運行

cmdTest("job_id") = "14"

cmdTest("job_desc") = "金融"

cmdTest.Execute

Set rsTest = Cnn.Execute("Select job_id,job_desc From jobs")

While Not rsTest.EOF

Response.Write rsTest(0) & rsTest(1) & "<br>"

rsTest.MoveNext

Wend

Cnn.close : Set prmTest = Nothing

Set cmdTest = Nothing: Set Cnn = Nothing

%>

分析:

1.Command對象的CreateParameter方法用來為SQL命令或存儲過程建立參數對象,共有五個參數(五個參數都是可選項):

第一個參數:參數對象的名稱;

第二個參數:參數對象的數據類型,種類太多,還是參考ADO幫助吧,這里adVarChar(字元串值)、adSmallInt(2 位元組帶符號整型);

第三個參數:參數類型。可以是:adParamInput(指示輸入參數)、adParamOutput( 指示為輸出參數)、adParamReturnValue(指示為返回值)、adParamUnknown(指示參數類型無法確定)、adParamInputOutput(指示為輸入/輸出參數);

第四個參數:參數的數據長度,最好指定為與資料庫中對應欄位長度相等,以免使用時出錯,尤其數據類型為VarChar時,如果是整型或日期型則不必提供該值;

第五個參數:參數的設置初值。

2.cmdTest.Parameters.Append方法增加一個Parameter對象到Parameters數據集合中,從本例中也可看到如何使用多個參數。

3.從本例可以看到,只需要重新設定輸入參數,便可執行對其他數據的修改,非常方便,這一思路在編程時也是最常用的方法之一。

4.重設參數,既可以使用cmdTest.Parameters,也可以省略為cmdTest("job_id")。

二、在ASP中使用存儲過程

什麼是存儲過程(存儲過程位於資料庫伺服器中,是一個SQL語句的集合,可包含一個或多個SQL語句)、怎樣創建存儲過程不屬於本講座的內容,本講座主要是舉例說明在ASP中如何調用存儲過程。

使用存儲過程的好處是大大的,存儲過程比在ASP腳本中運行SQL命令效率更高;可以提高整體性能並減輕網路負載(減少了在網路伺服器和數據伺服器之間的交互);可以優化ASP代碼和增強代碼靈活性等等。

(一)在存儲過程中使用輸入參數

本例中使用的存儲過程為SQL Server7.0自帶的「byroyalty」,裡面的一條SQL語句非常簡單,無非是多了一個CREATE PROCEDURE byroyalty,並且有一個輸入參數為@percentage:

CREATE PROCEDURE byroyalty @percentage int

AS

select au_id from titleauthor

where titleauthor.royaltyper = @percentage

serve by www.ci.net

例wuf71.asp

<% @LANGUAGE = VBScript %>

<!--#include file="AdoSQL7.asp"-->

<!--#include file="adovbs.inc"-->

<% '' wuf71.asp

Dim cmdTest, prmTest, rsTest

Set cmdTest = Server.CreateObject("ADODB.Command")

cmdTest.CommandText = "byroyalty" ''存儲過程名

''設命令類型為 存儲過程

cmdTest.CommandType = adCmdStoredProc

''創建 Parameter 對象

Set prmTest = Server.CreateObject("ADODB.Parameter")

『Type屬性對應wuf70.asp中的第二個參數

prmTest.Type = adInteger ''4 位元組的帶符號整型

『Direction屬性對應wuf70.asp中的第三個參數

prmTest.Direction = adParamInput

『Value屬性對應wuf70.asp中的第五個參數

prmTest.Value = 30

cmdTest.Parameters.Append prmTest

Set cmdTest.ActiveConnection = Cnn

『需要返回一個記錄集,故使用Set rsTest = cmdTest.Execute

Set rsTest = cmdTest.Execute

While Not rsTest.EOF

Response.Write rsTest(0) & "<br>"

rsTest.MoveNext

Wend

Cnn.close

Set rsTest = Nothing : Set prmTest = Nothing

Set cmdTest = Nothing: Set Cnn = Nothing

%>

CommandText屬性既可以指定SQL命令,也可以指定為存儲過程或者是表名稱。

在本例中,創建Parameter對象與wuf70.asp略有不同,其實仔細看看,意思也是差不多的,本例還有兩個屬性未用:prmTest.Name、prmTest.Size,加上Type、Direction和Value,對應於wuf70.asp中的五個參數。

(二)使用輸出參數

從資料庫表中取得一個記錄或計算一個值時,需要使用返回輸出參數的存儲過程。為了舉例,先在SQL Server的pubs庫中新建一存儲過程OUTemploy,該存儲過程需要輸入兩個日期,然後輸出一個最大值。

CREATE PROCEDURE OUTemploy

(

@job_lvl tinyint OUTPUT,

@hire_date1 datetime,

@hire_date2 datetime

)

AS

select @job_lvl = MAX(job_lvl) from employee

where hire_date >= @hire_date1 and hire_date <= @hire_date2

有多種方法可以建立存儲過程:

1.使用Microsoft SQL Server的Enterprise Manager,打開後在左邊的樹目錄中依次打開:Console Root – Microsoft SQL Servers – SQL Server Group – ICBCZJP(Windows NT) – databases – pubs – stored procere – New stored procere,輸入存儲過程後,還可對其進行語法檢測;

2.使用Microsoft SQL Server的Query Analyzer,先連接資料庫伺服器並選擇pubs資料庫。輸入上面的存儲過程並點擊Execute Query(或按F5);

3.使用VB6.0,打開菜單「視圖」/「數據視圖窗口」後,右鍵單擊「數據鏈接」/「新建數據鏈接」;

4.使用ASP腳本創建存儲過程,例wuf75.asp:

<% @LANGUAGE = VBScript %>

<!--#include file="AdoSQL7.asp"-->

<!--#include file="adovbs.inc"-->

<% '' wuf75.asp

Dim StrSQL

''注: & Chr(10) & Chr(13) 完全可以不要, 主要是為了好看

StrSQL="CREATE PROCEDURE OUTemploy ( @job_lvl tinyint OUTPUT, " & Chr(10) & Chr(13) &_

"@hire_date1 datetime, @hire_date2 datetime) AS " & Chr(10) & Chr(13) &_

"select @job_lvl = MAX(job_lvl) from employee " &_

"where hire_date >= @hire_date1 and hire_date <= @hire_date2"

Cnn.Execute StrSQL

Response.Write "創建存儲過程成功"

Cnn.close: Set Cnn = Nothing

%>

存儲過程創建後,除了使用菜單,你還可以使用SQL語句「Drop Procere OUTemploy」刪除它。

例wuf72.asp – 把所需要的輸入參數送入存儲過程並取得輸出結果。

<% @LANGUAGE = VBScript %>

<!--#include file="AdoSQL7.asp"-->

<!--#include file="adovbs.inc"-->

<% '' wuf72.asp

Dim cmdTest, prmTest

Set cmdTest = Server.CreateObject("ADODB.Command")

cmdTest.ActiveConnection = Cnn

cmdTest.CommandText = "OUTemploy" ''存儲過程名

cmdTest.CommandType = adCmdStoredProc

''創建 Parameter 對象

Set prmTest = cmdTest.CreateParameter("job_lvl",adTinyInt,adParamOutput)

cmdTest.Parameters.Append prmTest

''adTinyInt - 1 位元組帶符號整型

''adDbDate - 日期值 (yyyymmdd)

Set prmTest = cmdTest.CreateParameter("hiredate1",adDBDate,adParamInput,,"1993-05-09")

cmdTest.Parameters.Append prmTest

Set prmTest = cmdTest.CreateParameter("hiredate2",adDBDate,adParamInput,,"1994-02-01")

cmdTest.Parameters.Append prmTest

cmdTest.Execute

『下面三種表達方式意思一樣

Response.Write cmdtest("job_lvl") & "<br>"

Response.Write cmdTest.Parameters("job_lvl") & "<br>"

Response.Write cmdTest.Parameters("job_lvl").Value

Cnn.close

Set prmTest = Nothing

Set cmdTest = Nothing: Set Cnn = Nothing

%>

(三)使用返回代碼參數

用Return語句可以從存儲過程返回不同的返回代碼,如下面存儲過程先取得一個記錄集,然後,若有叫Margaret的雇員則返回1,否則返回0。

Create Procere Returnemploy

AS

select emp_id, fname from employee

If Exists(Select fname From employee Where fname=''Margaret'')

Return(1)

Else

Return(0)

例wuf73.asp

<% @LANGUAGE = VBScript %>

<!--#include file="AdoSQL7.asp"-->

<!--#include file="adovbs.inc"-->

<% '' wuf73.asp

Dim cmdTest, prmTest, rsTest

Set cmdTest = Server.CreateObject("ADODB.Command")

cmdTest.ActiveConnection = Cnn

cmdTest.CommandText = "Returnemploy" ''存儲過程名

cmdTest.CommandType = adCmdStoredProc

Set prmTest = cmdTest.CreateParameter("ReturnValue",adInteger,adParamReturnValue)

cmdTest.Parameters.Append prmTest

Set rsTest = cmdTest.Execute()

While Not rsTest.EOF

Response.Write rsTest(0) & " ][ " & rsTest(1) & "<br>"

rsTest.MoveNext

Wend

rsTest.Close: Set rsTest = Nothing

''返回 cmdtest("ReturnValue") 之前,必須先關閉rsTest, 否則結果錯誤

If cmdtest("ReturnValue") = 1 Then

Response.Write "有該雇員"

Else

Response.Write "無該雇員"

End If

Cnn.close

Set prmTest = Nothing

Set cmdTest = Nothing: Set Cnn = Nothing

%>

三、如何處理大數據

這里的「大數據」主要是指Text(大文本)和image(圖像)欄位,採用前面所述的方法無法正確獲取其數據。必須首先使用Size = rsTest(0).ActualSize獲取欄位值的實際長度,然後再使用rsTest(0).GetChunk(Size)取得數據。在實際使用過程中,由於這些欄位都比較大,為了節省、合理使用伺服器資源,一般均採取分段讀取的方法。例wuf74.asp:

<% @LANGUAGE = VBScript %>

<!--#include file="AdoSQL7.asp"-->

<!--#include file="adovbs.inc"-->

<% '' wuf74.asp

Dim StrSQL, rsTest

『pr_info 是一個文本欄位

StrSQL = "Select pr_info,pub_id From pub_info"

Set rsTest = Cnn.Execute(StrSQL)

Dim BasicSize, BeginSize, LText

Do While Not rsTest.EOF

Response.Write rsTest(1) & "<br>"

『每次讀取 1024位元組

BasicSize = 1024

BeginSize = 0

While BeginSize < rsTest(0).ActualSize

LText = rsTest(0).GetChunk(BasicSize)

BeginSize = BeginSize + BasicSize

『逐段輸出到客戶端

Response.Write LText

Wend

Response.Write "<br><br>"

rsTest.MoveNext

Loop

Cnn.close

Set rsTest = Nothing: Set Cnn = Nothing

%>

在本例中,每次最多讀取1024位元組,分多次讀完。反之,如果將大數據寫至資料庫中,方法類似上面,不過不是使用GetChunk方法,而是使用AppendChunk方法:

rsTest(0).AppendChunk Ltext

注意:最後介紹一個關於SQL Server資料庫的小技巧,如果你遇到過這種情況:資料庫的中文數據顯示出來均是亂碼,請不要驚慌。你只要去我的站點下載sqlsrv32.dll覆蓋「C:\Windows\System」下的同名文件就可以了。問題發生的源頭是SQL Server驅動程序,典型的情況發生在Windows98第二版(SQL Server驅動程序的版本號為3.70.06.23)或Windows2000中或者安裝了MDAC2.5(

⑦ conn.Execute,我想在ASP里同時執行多條SQL語句,應該怎麼寫代碼,哪位大俠可以幫幫我,最好給個實例代碼

sql="XXXXXXXX" 查詢sql
rs.open sql,conn,1,1
if not rs.eof then
sql="XXXXX" 這里LZ可以寫你要更新的刪除的sql語句UPDATE Delete 等激困粗
conn.Execute sql
這里可以多條使用的不沖明鎮突
sql="XXXXX" 這里LZ可以寫你要更新的刪除的sql語句UPDATE Delete 等
conn.Execute sql



。尺態

end if
rs.close

⑧ 舉例說明在asp環境下,實現sql注入的一般過程謝謝···

譬如你有一條SQL查詢是
SELECT * FROM 用戶表 WHERE usename = '用戶名' and password = '密碼'
如果要注入,只需要令usernusename = '用戶名' or 1 = 1',密碼我隨意給
這樣,注入後的SQL就變成為
SELECT * FROM 用戶表 WHERE usename = '用戶名' OR 1 = 1 and password = '密碼'

也可以令usename = '用戶名' '--'
--在sql裡面是注釋用的,所以sql變為
SELECT * FROM 用戶表 WHERE usename = '用戶名' -- and password = '密碼'
跳過你的密碼驗證了哦。。

⑨ 舉例說明在asp環境下,實現sql注入的一般過程

譬如你有一條SQL查詢是
SELECT * FROM tab WHERE username = ? AND password = ?目的是要驗證用戶名和密碼都正確,假設zhangsan為合法告寬用戶,但是我不知道密碼
我如果要注入,只需要令username = 'user ''or 1 = 1',密碼我隨意給
這樣,注入後的SQL就變成為
SELECT * FROM tab WHERE usename = 'zhangsan' OR 1 = 1 and password = 'xxx'
看到沒?你後面的密碼驗證沒用了

也可以令username = 'zhangsan''--'
--在sql裡面是注釋用的,所以sql變為
select * from tab where username ='zhangsan'枝隱 -- and password = 'xxx'
跳猛友廳過你的密碼驗證了哦。。

⑩ 在ASP.NET中怎麼調用SQL Server中的函數,請給出具體的例子

public static void exec_proc_1()
{
SqlCommand cmd = new SqlCommand("proc_1", con);//proc_1為存凳鬧敏儲過程名,con為已經建立好的連棗枝接
cmd.CommandType = CommandType.StoredProcere;//設置執行類型為執行存儲過彎返程
cmd.ExecuteNonQuery();
}

具體請參考
http://hi..com/kaixinpengpeng/blog/item/052f590f84f303216059f31d.html/cmtid/7c446ad02bb2a581a1ec9c47