问题描述
|
我想检查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ѭ,看看会发生什么。