C#中验证sql语句的方法(SET PARSEONLY 与SET NOEXEC )
2012-06-27 19:24
477 查看
SET PARSEONLY
检查每个 Transact-SQL 语句的语法并返回任何错误消息,但不编译和执行语句。
SET PARSEONLY { ON | OFF }
当 SET PARSEONLY 为 ON 时,SQL Server 只分析语句。当 SET PARSEONLY 为 OFF 时,SQL Server 编译并执行语句。
SET PARSEONLY 的设置是在分析时设置,而不是在执行或运行时设置。
在存储过程或触发器中不要使用 PARSEONLY。如果 OFFSETS 选项为 ON 而且没有出现错误,则 SET PARSEONLY 返回偏移量。
SET NOEXEC (Transact-SQL)
编译每个查询但不执行查询。
SET NOEXEC { ON | OFF }
当 SET NOEXEC 为 ON 时,SQL Server 将编译每一批处理 Transact-SQL 语句但并不执行它们。当 SET NOEXEC 设置为 OFF 时,所有批处理将在编译后执行。
SQL Server 中的语句执行包含两个阶段:编译和执行。该设置可用于让 SQL Server 在执行 Transact-SQL 代码时,验证代码中的语法和对象名。它也可以用于调试通常是较大的批处理中的部分语句。
SET NOEXEC 设置是在执行或运行时设置,而不是在分析时设置。
SET PARSEONLY的代码:
检查每个 Transact-SQL 语句的语法并返回任何错误消息,但不编译和执行语句。
SET PARSEONLY { ON | OFF }
当 SET PARSEONLY 为 ON 时,SQL Server 只分析语句。当 SET PARSEONLY 为 OFF 时,SQL Server 编译并执行语句。
SET PARSEONLY 的设置是在分析时设置,而不是在执行或运行时设置。
在存储过程或触发器中不要使用 PARSEONLY。如果 OFFSETS 选项为 ON 而且没有出现错误,则 SET PARSEONLY 返回偏移量。
SET NOEXEC (Transact-SQL)
编译每个查询但不执行查询。
SET NOEXEC { ON | OFF }
当 SET NOEXEC 为 ON 时,SQL Server 将编译每一批处理 Transact-SQL 语句但并不执行它们。当 SET NOEXEC 设置为 OFF 时,所有批处理将在编译后执行。
SQL Server 中的语句执行包含两个阶段:编译和执行。该设置可用于让 SQL Server 在执行 Transact-SQL 代码时,验证代码中的语法和对象名。它也可以用于调试通常是较大的批处理中的部分语句。
SET NOEXEC 设置是在执行或运行时设置,而不是在分析时设置。
SET PARSEONLY的代码:
public bool ValidateSQL(string sql) { bool bResult; SqlCommand cmd = _conn.CreateCommand(); cmd.CommandText = "SET PARSEONLY ON"; cmd.ExecuteNonQuery(); try { cmd.CommandText = sql; cmd.ExecuteNonQuery(); bResult = true; } catch (Exception ex) { bResult = false; } finally { cmd.CommandText = "SET PARSEONLY OFF"; cmd.ExecuteNonQuery(); } return bResult; }
相关文章推荐
- C#中验证sql语句的方法 (SET PARSEONLY 与SET NOEXEC )
- SQL语句:find_in_set的使用方法
- (C#)SQL连接语句中的Integrated Security(使用Windows身份验证时,连必填的部分)
- C#中验证sql语句是否正确(不执行语句)
- C#中get,set语句的使用方法
- C#使用预处理SQL语句访问MySQL的方法(Parameter)
- 存储过程和SQL语句比较及存储过程在C#中调用方法(转)
- C#中验证sql语句是否正确(不执行语句)
- C# 向数据库中添加 修改数据库的两种方法Sql语句和update(dataSet)
- 存储过程和SQL语句比较及存储过程在C#中调用方法
- C#执行多行sql语句方法
- C#向oracle 写sql语句ORA-00911错误及解决方法
- [C#]C#中验证sql语句是否正确(不执行语句)
- C#sql like语句一种正确传参方法
- C#(.net)中的一次连接数据库执行多条sql语句(两种方法)
- Informix 11.5 SQL 语句性能监控方法及实现(set explain on 执行计划)
- 存储过程和SQL语句比较及存储过程在C#中调用方法(转)
- set explain on--Informix 11.5 SQL 语句性能监控方法及实现
- Java连接MySQL数据库实现用户名密码的验证方法 Java语句中sql查询语句'' ""作用
- Set noexec on 与 Set parseonly on的区别及SQL语法检查