1.1 写库操作 (insert及update都视为写库操作,这果以insert为例说明,update的处理相同) 一般采用insert语句或AddNew方法两种方式进行写库操作,我们先来看insert语句: DIM username,sqlstr username = trim(Request.Form("uname")) sqlstr = "insert into [userinfo] (username) values ('"& username &"')" 以SQL Server为例,使用这种方式写库,如果username中含用单引号('),会出错。使用下面的自定义函数,可以将单引号进行转换: Rem 转换SQL非法字符 function SQLEncode(fString) if isnull(fString) then SQLEncode = ""
iT粉丝网
exit function end if SQLEncode=replace(fString,"'","''") end function 以上函数将一个单引号转换为两个连续的单引号,数据库能够接受,并以一个单引号写入。SQL语句改为: sqlstr = "insert into [userinfo] (username) values ('"& SQLEncode(username) &"')" 再来看AddNew方法: DIM username username = trim(Request.Form("uname")) 'MyRst为Recordset对象,MyConn为Connection对象 MyRst.open "[userinfo]",MyConn,0,3 MyRst.AddNew MyRst("username").Value = username MyRst.Update MyRst.Close 使用这种方式写库时,不必调用SQLEncode()对单引号进行转换,数据库会自行处理。