利用.NET访问数据库的时候,需要写一些SQL语句。但是由于SQL的可读性、
不好测试的特点。经常会写错字母,漏写了参数等。直到写界面层的时候才发现
问题,回头再来改,十分痛苦。
想法
利用数据库访问脚本及其数据库字段的命名约定。比如,INT类型就用INT
结尾,VARCHAR就用VCHR结尾等。有了这些,我们就可以根据约定自动生成
相关类型的数据了。下面就是利用程序生成的例子!













然后这些脚本就可以在SQLNavigat中运行了,以判断字段的正确与否。
正则表达式
利用正则表达式匹配、捕抓一些我们需要的特定格式的数据非常的方便。比
如,捕抓 "ColumnName=?" "INSERT ..." "SELECT ..." "(?,?,?,?)" 等。这样我们就可
以快速的捕抓出这些数据,然后根据命名约定进行数据替换。
几个正则Pattern(不是太严谨),有关正则的学习,可以参照我Blog中的资源。
几个模式:
匹配 "INSERT ..." "SELECT ..." "DELETE..." "UPDATE ..."
"\s*(INSERT|DELETE|SELECT|UPDATE) ((?!\" ).)*"
匹配 " VAR = ?" "VAR<?" "VAR>?" "VAR>=?"
\w*\s* ( \= | \> | \>\= | \<\= | \!\= ) \s*\?
匹配 "(?, ?, ?, ?)"
\( ((?!\().)*\)
程序片断
根据约定生成测试值



















程序下载
源程序 下载