ACCESS的参数化查询,附VBSCRIPT(ASP)和C#(ASP.NET)函数第1/2页

2023-12-08 0 171

最近因项目需要用ACCESS做数据库开发WEB项目 看论坛上还许多人问及ACCESS被注入的安全问题 许多人解决的方法仍然是用Replace替换特殊字符,然而这样做也并没有起到太大做用 今天我就把我用ACCESS参数化查询的一些方法和经验和大家分享 希望对大家有所启发,有写的不对的地方希望高手们多多指教 ASP.NET用OleDbCommand的newOleDbParameter创建参数货查询 ASP用Command的CreateParameter方法创建参数化查询 (SQL储存过程查询也是用这个方法建立的) ASP.NET C#语法 —————————————————————————- 复制代码 代码如下: OleDbParameterparm=newOleDbParameter(Name,Type,Direction,Size,Value); (实际上它有七重载大家具体大家可以在VS.net里面就可以看到) 参数 Name可选,字符串,代表Parameter对象名称。 Type可选,长整型值,指定Parameter对象数据类型。 Direction可选,长整型值,指定Parameter对象类型。。 Size可选,长整型值,指定参数值最大长度(以字符或字节数为单位)。 Value可选,变体型,指定Parameter对象的值。 以下是实例,查询news表中所有tsing发表的新闻 ——————————————————- sql=\”select*fromnewsswhereusername=?orderbyid\”  //注意查询的条件均用?号表示 OleDbConnectionconn=newOleDbConnection(connString); OleDbCommandcmd=newOleDbCommand(sql,conn); OleDbParameterparm=newOleDbParameter(\”temp\”,OleDbType.VarChar,50); //temp为Parameter对象可随便定义,OleDbType.VarChar指定为字符串,长度50 parm.Direction=ParameterDirection.Input; //指定其类型输入参数 cmd.Parameters.Add(parm);  cmd.Parameters[\”temp\”].Value=\”tsing\”; //查询tsing,也可以写成cmd.Parameters[0]  conn.Open();  cmd.ExecuteReader(); —————————————————————————- ASPVBSCRIPT语法 —————————————————————————- 复制代码 代码如下: Setparameter=command.CreateParameter(Name,Type,Direction,Size,Value) 参数同上 以下是实例,查询news表中所有tsing发表的新闻 —————————————————— etconn=Server.CreateObject(\”Adodb.Connection\”) conn.ConnectionString=connString conn.open() setmycmd=Server.CreateObject(\”ADODB.Command\”) mycmd.ActiveConnection=conn mycmd.CommandText=sql mycmd.Prepared=true setmypar=mycmd.CreateParameter(\”temp\”,129,1,50,\”tsing\”) mycmd.Parameters.Appendmypar setmyrs=mycmd.Execute ————————————————————————— 与上面基本相同不同的地方法是asp在对参数的表达上面不同 129为adChar,1就是指示输入参数(是其实是默认值) 大家请参阅MICROSOFT的ADOVB.Inc: 复制代码 代码如下: \’—-ParameterDirectionEnumValues—- ConstadParamUnknown=0 ConstadParamInput=1 ConstadParamOutput=2 ConstadParamInputOutput=3 ConstadParamReturnValue=4 \’—-DataTypeEnumValues—- ConstadEmpty=0 ConstadTinyInt=16 ConstadSmallInt=2 ConstadInteger=3 ConstadBigInt=20 ConstadUnsignedTinyInt=17 ConstadUnsignedSmallInt=18 ConstadUnsignedInt=19 ConstadUnsignedBigInt=21 ConstadSingle=4 ConstadDouble=5 ConstadCurrency=6 ConstadDecimal=14 ConstadNumeric=131 ConstadBoolean=11 ConstadError=10 ConstadUserDefined=132 ConstadVariant=12 ConstadIDispatch=9 ConstadIUnknown=13 ConstadGUID=72 ConstadDate=7 ConstadDBDate=133 ConstadDBTime=134 ConstadDBTimeStamp=135 ConstadBSTR=8 ConstadChar=129 ConstadVarChar=200 ConstadLongVarChar=201 ConstadWChar=130 ConstadVarWChar=202 ConstadLongVarWChar=203 ConstadBinary=128 ConstadVarBinary=204 ConstadLongVarBinary=205
12下一页阅读全文

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 Access ACCESS的参数化查询,附VBSCRIPT(ASP)和C#(ASP.NET)函数第1/2页 https://www.u-9.cn/database/access/128831.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务