Sql 语法检查
来源:互联网 发布:极简手表 知乎 编辑:程序博客网 时间:2024/04/24 19:59
做语法检查时要能连得上SQLServer,然后程序如下:
Private Function CheckSQL(ByVal SQLs As String) As String
On Error GoTo errHandle
conTADO.Execute ("SET PARSEONLY ON " & SQLs)
CheckSQL = "语法检查通过。"
conTADO.Execute ("SET PARSEONLY OFF")
Exit Function
errHandle:
CheckSQL = Err.Description
conTADO.Execute ("SET PARSEONLY OFF")
End Function
其中conTADO是一个已连接好的ADO的Connection对象。
关键在于
SET PARSEONLY ON 和 SET PARSEONLY OFF,
执行了SET PARSEONLY ON 后,再执行的SQL语句,不会真的执行,只是预执行一下,有错误就会返回,完了以后再执行SET PARSEONLY OFF,数据库就会恢复原态。
这一种更好一点
USE pubs
GO
PRINT 'Valid query'
GO
-- SET NOEXEC to ON.
SET NOEXEC ON
GO
-- Inner join.
SELECT a.au_lname, a.au_fname, t.title
FROM authors a
INNER JOIN titleauthor ta
ON a.au_id = ta.au_id
INNER JOIN titles t
ON ta.title_id = t.title_id
GO
-- SET NOEXEC to OFF.
SET NOEXEC OFF
GO
PRINT 'Invalid object name'
GO
- Sql 语法检查
- SQL SERVER 语法检查方法
- C#检查sql语法正确性
- 语法检查
- fjnu 1742 语法检查
- Python语法检查
- vim php语法检查
- XML 语法检查机制
- clang语法检查设置
- sublime php语法检查
- 在线语法检查
- vim php语法检查
- texstudio语法检查
- hrbust 1170 语法检查
- eslint语法检查
- Set noexec on 与 Set parseonly on的区别及SQL语法检查
- 去掉eclipse中的语法检查
- pylint python语法检查利器
- Safari 4
- 基于蓝牙的数据传输系统的设计
- [C#]Log4net中的RollingFileAppender解析
- Union all
- Oracle数据库业务优化心得
- Sql 语法检查
- asp.net 2.0揭秘读书笔记二:使用Rich控件
- 爱是什么??
- sql 中Intersect
- 第四任项目经理的上任
- 软件开发者面试百问
- 获取Windows消息名称(含VCL消息)-1
- 获取Windows消息名称(含VCL消息)-2
- 时间格式化输出SimpleDateFormat(转)