我写了一个程序(vb+SQL Server),用户可以在textbox中输入SQL语句然后进行查询,
(rs.Open textbox.text, Conn, adOpenStatic, adLockReadOnly)请问各位,有什么方法让textbox中的语句只能查询(例如select),
而不能对数据库进行任何修改(例如delete、update、insert等)?我本想用的方法是先检测textbox中有没有delete、update、insert等字符串,
确定没有再执行。但能修改数据库的命令太多了,这方法好像不太好,
请问有什么更好的方法?
谢谢!

解决方案 »

  1.   

    rs.Open textbox.text, Conn, 1, 1  只容许浏览
    rs.Open textbox.text, Conn, 1,3  容许增删改
      

  2.   

    if left(trim(text1.text),6)="select" thenrs.openendif
      

  3.   

    打开连接的时候用一个只有读权限的数据库用户登陆,不要用sa等具有管理员权限的用户
    就算不检查SQL也没有关系了,直接返回数据库的错误信息给用户,很省事
      

  4.   

    cuilei197979(风)和wenhongL(三脚猫)配合用,安全又好用!