|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
mysql使用内部操作字符集gbk来进行操作,即执行"SELECT*FROMtestWHEREname=xxxor1=1/*LIMIT1";从而注入成功access看到他人偶然问这个方面的成绩。。因而在各网站总结前先辈高人的几点设法,拿来共享:
数据库导进今后,主动增添字段必要重写,一切的数字范例必要增添长度,最好用decimal。
一切的默许值都丧失了。次要是数字范例和日期范例。
一切now(),time(),date()要改成getdate()。
一切datediff(d,time1,time2)要改成datediff(day,time1,time2)
有大概一些true/false范例不克不及利用,要变成1/0。
备注范例要经由过程cast(columnasvarchar)来利用。
CursorType要改成1,也就是翻开数据库时要给出第一个数字参数为1,不然纪录大概显现不完全。
isnull(rowname)要改成rowname=null
ACCESS的数据库中的主动编号范例在转化时,sqlserver并未将它设为主动编号型,我们需在SQL创立语句中加上identity,暗示主动编号!
转化时,跟日期有关的字段,SQLSERVER默许为smalldatetime型,我们最好将它变成datetime型,由于datetime型的局限比smalldatetime型年夜。偶然用smalldatetime型时,转化失利,而用datetime型时,转化乐成。
对此两种数据库举行操纵的sql语句不全不异,比方:在对ACCESS数据库举行删除记录时用:"delete*fromuserwhereid=10",而对SQLSERVER数据库举行删除是用:"deleteuserwhereid=10".
日期函数不不异,在对ACCESS数据库处置中,可用date()、time()等函数,但对SQLSERVER数据库处置中,只能用datediff,dateadd等函数,而不克不及用date()、time()等函数。
在对ACCESS数据库处置中,sql语句中间接能够用一些VB的函数,像cstr()函数,而对SQLSERVER数据库处置中,却不克不及用。
对于update操作,只需要把event中的旧行和新行值对调即可。 |
|