准备语法上无效的查询

问题描述

| 我想检查SQL查询的语法。我想用DbCommand.Prepare方法来准备它。 不幸的是,没有错误或异常。 例如:SELECT * FORM表 有没有一种方法可以在不执行查询的情况下检查语法? 要使其完美,它必须在sql Server,Oracle和IBM DB2上工作     

解决方法

对于SQL Server,可以使用“ 0”和/或“ 1”
set fmtonly on
go
SELECT * FORM table
go
set fmtonly off
    ,通常,只有您正在使用的数据库才能知道给定查询是否有效。一种标准且可移植的技巧是添加一个WHERE子句,该子句保证什么都不做,然后执行查询。例如执行execute3ѭ,看看会发生什么。