2024年4月11日发(作者:)
最近因项目需要用 ACCESS做数据库开发 WEB项目看论坛上还许多人问及
被注入的安全问题许多人解决的方法仍然是用
ACCESS
Replace替换特殊字符,然而这样做也并没有
起到太大做用•今天我就把我用ACCESS参数化查询的一些方法和经验和大家分享
家有所启发,有写的不对的地方希望高手们多多指教
用 OleDbCommand 的 new OleDbParameter 创建参数货查询
ASP用Comma nd的CreateParameter方法创建参数化查询
(SQL储存过程查询也是用这个方法建立的
C# 语法:
,
希望对大
)
OleDbParameter parm = new OleDbParameter(Name, Type, Direction, Size, V alue);
(实际上它有七重载大家具体大家可以在 里面就可以看到
)
参数
Name可选,字符串,代表 Parameter对象名称。
Type可选,长整型值,指定
Direction
Parameter对象数据类型。
Parameter对象类型。
。
可选,长整型值,指定
Size可选,长整型值,指定参数值最大长度
(
以字符或字节数为单位
)
。
Value 可选,变体型,指定 Parameter对象的值。
以下是实例,查询 news表中所有tsing发表的新闻
sql="select * from n ewss where user name=? order by id"
〃注意查询的条件均用
?
号表示
OleDbC onnection conn = new OleDbC onn ecti on(conn Stri ng);
OleDbComma nd cmd = new OleDbComma nd(sql,c onn);
OleDbParameter parm = new OleDbParameter("temp",r, 50); //temp为
Parameter对象可随便定义
,
r指定为字符串
,
长度50 io n =
ParameterDirectio n.l nput;
//指定其类型输入参数
(parm);
cmd. Parameters["temp"].Value = "tsi ng";
//查询 tsing,也可以写成 ters[0]
conn. Ope n();
eReader();
ASP VBSCRIPT 语法
Set parameter = comma Parameter (Name, Type, Direction, Size, Value)
参数同上
以下是实例,查询 news表中所有tsing发表的新闻
et conn = Object("Adodb.C onnection") tion Stri ng = conn Stri ng
conn. ope n()
set mycmd = Object(" nd") C onnection=conn
ndText=sql
ed = true
set mypar = Parameter("temp",129,1,50,"ts in g") nd
mypar
set myrs = e
与上面基本相同不同的地方法是 asp在对参数的表达上面不同
129为adChar, 1就是指示输入参数(是其实是默认值
)
大家请参阅 MICROSOFT 的 :
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
Co nst
ParameterDirectio nEnum Values
adParam Unknown = 0
adParam In put
= 1
adParamOutput
= 2
adParam In putOutput = 3
adParamRetur nValue = 4
DataTypeE num Values —
adEmpty =
0
adT inylnt = 16
adSmallI nt = 2
adI nteger = 3
adBigI nt =
20
adU nsig nedT inylnt = 17
adU nsig nedSmall Int = 18
adU nsig nedl nt = 19
adU nsig nedBig Int = 21
adS in gle = 4
adDouble = 5
adCurre ncy = 6
adDecimal = 14
adNumeric = 131
adBoolea n = 11
adError = 10
adUserDefi ned = 132
adVaria nt = 12
adIDispatch =
9
adI Unknown= 13
adGUID = 72
adDate = 7
adDBDate = 133
adDBTime = 134
adDBTimeStamp = 135
adBSTR = 8
adChar = 129
adVarChar = 200
adL on gVarChar =201
Co nst adWChar = 130
Const
Const
Const
Const
adVarWChar =
adBi nary =
adVarBi nary =
adL on gVarB inary
202
=
204
=
205
203
128
Con st adLo ngVarWChar
更多信息请查看IT技术专栏


发布评论