可以在MSDN先把关键字都找全。http://msdn.microsoft.com/zh-cn/library/ms189822.aspx然后在把这些关键字做成一张表。比如下面这种表关键字 软件 版本 -------------------- AS sqlserver 2000 AS sqlserver 2005 AS sqlserver 2008 AS sqlserver 2012 in sqlserver 2000 in sqlserver 2005 select mysql .. 可以通过这张字典就能查到 AS 关键字,对应 sql2000,sql2005,sql2008,sql2012版本 in 关键字,对应 sql2000,sql2005不知能解决楼主的问题没?
我猜想应该有现成的方法可用,比如SQL Server Management ,它能识别所有的关键字并标出颜色,不知道能不能调用这些方法。
然后要判断SQL语句是否允许执行?
--------------------
AS sqlserver 2000
AS sqlserver 2005
AS sqlserver 2008
AS sqlserver 2012
in sqlserver 2000
in sqlserver 2005
select mysql ..
可以通过这张字典就能查到 AS 关键字,对应 sql2000,sql2005,sql2008,sql2012版本
in 关键字,对应 sql2000,sql2005不知能解决楼主的问题没?
每次拼接的时候都加上 "[字段]" ,其实这是比较规范的sql语法。
既然是通过你的软件来创建表,你就不要让他们自己拼接SQL语句了,根据他们选择的内容拼接个SQL语句不就行了...另:如果用户可以直接对数据库操作,你这都是在做无用功...
好比VS也能识别int,if,else这些,并标成蓝色.不代表你程序能够直接使用编译器内部方法.
不管引入的是什么DLL,它毕竟不是客户端,没有那种方法让你直接用.
有些电脑安装个精简版的客户端就可以通过程序访问数据库了(其实就类似注册了个DLL),根本连个界面都没有.
还有用WEBSERVICE连数据库的,连客户端都可以没有...