主頁(yè) > 知識(shí)庫(kù) > ACCESS的參數(shù)化查詢,附VBSCRIPT(ASP)和C#(ASP.NET)函數(shù)第1/2頁(yè)

ACCESS的參數(shù)化查詢,附VBSCRIPT(ASP)和C#(ASP.NET)函數(shù)第1/2頁(yè)

熱門標(biāo)簽:呼叫中心市場(chǎng)需求 地方門戶網(wǎng)站 AI電銷 百度競(jìng)價(jià)排名 網(wǎng)站排名優(yōu)化 Linux服務(wù)器 服務(wù)外包 鐵路電話系統(tǒng)
最近因項(xiàng)目需要用ACCESS做數(shù)據(jù)庫(kù)開發(fā)WEB項(xiàng)目
看論壇上還許多人問及ACCESS被注入的安全問題
許多人解決的方法仍然是用Replace替換特殊字符,然而這樣做也并沒有起到太大做用
今天我就把我用ACCESS參數(shù)化查詢的一些方法和經(jīng)驗(yàn)和大家分享
希望對(duì)大家有所啟發(fā),有寫的不對(duì)的地方希望高手們多多指教

ASP.NET 用OleDbCommand的new OleDbParameter創(chuàng)建參數(shù)貨查詢
ASP用Command的CreateParameter 方法創(chuàng)建參數(shù)化查詢
(SQL儲(chǔ)存過程查詢也是用這個(gè)方法建立的)

ASP.NET C#語法
----------------------------------------------------------------------------

復(fù)制代碼 代碼如下:

OleDbParameter parm = new OleDbParameter(Name, Type, Direction, Size, Value);
(實(shí)際上它有七重載大家具體大家可以在VS.net里面就可以看到)
參數(shù)
Name        可選,字符串,代表 Parameter 對(duì)象名稱。
Type        可選,長(zhǎng)整型值,指定 Parameter 對(duì)象數(shù)據(jù)類型。
Direction   可選,長(zhǎng)整型值,指定 Parameter 對(duì)象類型。。
Size        可選,長(zhǎng)整型值,指定參數(shù)值最大長(zhǎng)度(以字符或字節(jié)數(shù)為單位)。
Value       可選,變體型,指定 Parameter 對(duì)象的值。
以下是實(shí)例,查詢news表中所有tsing發(fā)表的新聞
  -------------------------------------------------------
  sql="select * from newss where username=? order by id"
 //注意查詢的條件均用?號(hào)表示
  OleDbConnection conn = new OleDbConnection(connString);
  OleDbCommand cmd = new OleDbCommand(sql,conn); 
  OleDbParameter parm = new OleDbParameter("temp",OleDbType.VarChar, 50);
  //temp為Parameter對(duì)象可隨便定義,OleDbType.VarChar指定為字符串,長(zhǎng)度50
  parm.Direction = ParameterDirection.Input;
  //指定其類型輸入?yún)?shù)
  cmd.Parameters.Add(parm);
 cmd.Parameters["temp"].Value = "tsing";
  //查詢tsing,也可以寫成cmd.Parameters[0]
 conn.Open();
 cmd.ExecuteReader();

----------------------------------------------------------------------------
ASP VBSCRIPT語法
----------------------------------------------------------------------------

復(fù)制代碼 代碼如下:

Set parameter = command.CreateParameter (Name, Type, Direction, Size, Value)
參數(shù)同上
以下是實(shí)例,查詢news表中所有tsing發(fā)表的新聞
  ------------------------------------------------------
  et conn = Server.CreateObject("Adodb.Connection")
  conn.ConnectionString = connString
  conn.open()
  set mycmd = Server.CreateObject("ADODB.Command")
  mycmd.ActiveConnection=conn
  mycmd.CommandText=sql
  mycmd.Prepared = true
  set mypar = mycmd.CreateParameter("temp",129,1,50,"tsing")
  mycmd.Parameters.Append mypar
  set myrs = mycmd.Execute

---------------------------------------------------------------------------
與上面基本相同不同的地方法是asp在對(duì)參數(shù)的表達(dá)上面不同
  129為adChar,1就是指示輸入?yún)?shù)(是其實(shí)是默認(rèn)值)
大家請(qǐng)參閱MICROSOFT的ADOVB.Inc:

復(fù)制代碼 代碼如下:

  '----   ParameterDirectionEnum   Values   ----   
  Const   adParamUnknown   =   0   
  Const   adParamInput   =   1   
  Const   adParamOutput   =   2   
  Const   adParamInputOutput   =   3   
  Const   adParamReturnValue   =   4  
'----   DataTypeEnum   Values   ----   
  Const   adEmpty   =   0   
  Const   adTinyInt   =   16   
  Const   adSmallInt   =   2   
  Const   adInteger   =   3   
  Const   adBigInt   =   20   
  Const   adUnsignedTinyInt   =   17   
  Const   adUnsignedSmallInt   =   18   
  Const   adUnsignedInt   =   19   
  Const   adUnsignedBigInt   =   21   
  Const   adSingle   =   4   
  Const   adDouble   =   5   
  Const   adCurrency   =   6   
  Const   adDecimal   =   14   
  Const   adNumeric   =   131   
  Const   adBoolean   =   11   
  Const   adError   =   10   
  Const   adUserDefined   =   132   
  Const   adVariant   =   12   
  Const   adIDispatch   =   9   
  Const   adIUnknown   =   13   
  Const   adGUID   =   72   
  Const   adDate   =   7   
  Const   adDBDate   =   133   
  Const   adDBTime   =   134   
  Const   adDBTimeStamp   =   135   
  Const   adBSTR   =   8   
  Const   adChar   =   129   
  Const   adVarChar   =   200   
  Const   adLongVarChar   =   201   
  Const   adWChar   =   130   
  Const   adVarWChar   =   202   
  Const   adLongVarWChar   =   203   
  Const   adBinary   =   128   
  Const   adVarBinary   =   204   
  Const   adLongVarBinary   =   205 

12下一頁(yè)閱讀全文
您可能感興趣的文章:
  • C#操作Access通用類實(shí)例
  • C#數(shù)據(jù)庫(kù)操作類AccessHelper實(shí)例
  • c#連接access數(shù)據(jù)庫(kù)操作類分享
  • asp.net(C#) Access 數(shù)據(jù)操作類
  • ASP.net(c#)用類的思想實(shí)現(xiàn)插入數(shù)據(jù)到ACCESS例子
  • C# Access數(shù)據(jù)庫(kù)增刪查改的簡(jiǎn)單方法
  • C#動(dòng)態(tài)創(chuàng)建Access數(shù)據(jù)庫(kù)及表的方法
  • C#編程實(shí)現(xiàn)連接ACCESS數(shù)據(jù)庫(kù)實(shí)例詳解
  • C#對(duì)Access進(jìn)行增刪改查的完整示例
  • C#使用ADO.Net部件來訪問Access數(shù)據(jù)庫(kù)的方法
  • C#通過oledb訪問access數(shù)據(jù)庫(kù)的方法
  • C#實(shí)現(xiàn)Access通用訪問類OleDbHelper完整實(shí)例

標(biāo)簽:湖南 黃山 銅川 崇左 蘭州 仙桃 湘潭 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ACCESS的參數(shù)化查詢,附VBSCRIPT(ASP)和C#(ASP.NET)函數(shù)第1/2頁(yè)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266