Asp(classic)/mssql.
Jeg vil meget gerne kun køre med parameterized queries, eller hvad det nu
hedder, men må indrømme at det er lettere, men også usikkert at skrive:
set rs=conn.execute("select foo,bar from fee where fie='"&streng&"' and
fum="&tal)
end
set oSearch=Server.CreateObject("ADODB.command")
oSearch.ActiveConnection = Record
with oSearch
sql = "select foo,bar from fee where fie=? and fum=?"
.CommandText = sql
.CommandType = adCmdText
.parameters.Append .CreateParameter("fie",adVarChar,adParamInput,50)
.parameters.Append .CreateParameter("fum",adInteger,adParamInput)
.prepared = true
.parameters(0).value=streng
.parameters(1).value=tal
set rs=.execute
end with
set oSearch=nothing
Så findes der noget, hvor man kan skrive
set rs=parquery("select foo,bar from fee where fie=? and
fum=?","S50I",streng,tal)
1. parm er sql-strengen
2. parm er format for parametrene, S50 = varchar(50), I = integer osv.
Resten er parametrene til queriet.
Men det er vel et problem at have variabelt antal parametre...
Og hvis man skal give et array, skal det jo også dimensioneres fyldes, og så
er man lige vidt.
dim par(2)
par(0)=streng
par(1)=tal
For arrays on the fly: par=array(streng,tal) kan man ikke.
Hmm... Hvad med en macro-expansion i UltraEdit...
Dette var vist bare en brainstorm...
Leif
|