Wil*_*lem 4 .net c# t-sql parsing sqlcommand
我需要解析一个Command.CommandText
.
我不想运行查询.我只想查看命令执行时查询是否成功.
说我有; "SELECT * FROM SomeTable WHERE (1=1)"
此字符串将成功.
但,
"SELECT * FROM SomeTable WHERE (1=1"
Run Code Online (Sandbox Code Playgroud)
不会成功.
现在我的问题.我怎么会Parse
这个字符串c#
?
如果您只想验证语法.您可以使用Microsoft.Data.Schema.ScriptDom.
using Microsoft.Data.Schema.ScriptDom;
using Microsoft.Data.Schema.ScriptDom.Sql;
.....
string sql = "SELECT * FROM SomeTable WHERE (1=1";
var p = new TSql100Parser(true);
IList<ParseError> errors;
p.Parse(new StringReader(sql), out errors);
if (errors.Count == 0)
Console.Write("No Errors");
else
foreach (ParseError parseError in errors)
Console.Write(parseError.Message);
Run Code Online (Sandbox Code Playgroud)