如何在程序执行前,首先测试sql是否有效?!
大概意思是这样的,应特殊要求,我将sql语句写成一个可以给用户设置的变量。
在用户修改了sql语句后,我希望有一个测试按钮,当用户点击了后会测试他写入的sql格式是否正确,表名和字段在数据库中是否存在等等(有点类似与sql查询分析器中的F5的功能)。当然我不能去执行这个sql来测试它是不是正确有效,因为可配置的sql语句中包括update、insert和delete,这些语句执行会破坏数据。所以基本上我希望能在自编程序中做到类似于sql查询分析器中的F5的功能来测试sql语句。希望大家帮助解答! 谢谢

解决方案 »

  1.   

    不好处理,就算你先测试sql是否有效,真正运行的时候还是有可能出现问题。
    你要开放这个功能给用户,至少要求用户有这个能力,除非你的程序做得很“傻瓜”,用户只需要选择就能达到要求。
      

  2.   

    也許可以如下:但這樣做感覺不太好
    操作資料庫[Sql執行的時候就可以知道有沒有錯誤了],不提交事務
    Rollback
      

  3.   

    canghai827716(滄海) 也許可以如下:但這樣做感覺不太好
    操作資料庫[Sql執行的時候就可以知道有沒有錯誤了],不提交事務
    Rollback感谢你的回答,能不能详细说一下实现步骤
    和关键代码?
      

  4.   

    可以利用事务,开始begin,sql语句,出现异常就rollback,全部正常就commit。
    事务在大型的数据库中,是必备的,如在银行系统的转账过程中,需要更新两条纪录,必须保证两条语句,全部执行,获全不执行。则必须加入事务。