Q
解析SQL語句
1
A
回答
1
您可以嘗試TSql100Parser class
鏈接:http://msdn.microsoft.com/fr-fr/library/microsoft.data.schema.scriptdom.sql.tsql100parser.aspx
樣品:
bool fQuotedIdenfifiers = false;
var _parser = new TSql100Parser(fQuotedIdenfifiers);
SqlScriptGeneratorOptions options = new SqlScriptGeneratorOptions();
options.SqlVersion = SqlVersion.Sql100;
options.KeywordCasing = KeywordCasing.UpperCase;
_scriptGen = new Sql100ScriptGenerator(options);
IScriptFragment fragment;
IList<ParseError> errors;
using (StringReader sr = new StringReader(inputScript))
{
fragment = _parser.Parse(sr, out errors);
}
if (errors != null && errors.Count > 0)
{
StringBuilder sb = new StringBuilder();
foreach (var error in errors)
{
sb.AppendLine(error.Message);
sb.AppendLine("offset " + error.Offset.ToString());
}
var errorsList = sb.ToString();
}
else
{
String script;
_scriptGen.GenerateScript(fragment, out script);
var result = script;
}
+0
謝謝你們。在成爲桌面應用程序員25年以上之後,我正在努力學習sql。我目前的職位要求我將SQL經驗提升到一個全新的水平。理解sql與其他過程語言相比有多不同,這是一種休閒加。兆豐DITTOS! – garaber
1
好,解析聲明大於取回所產生的模式非常不同聲明。解析意味着你只是驗證查詢的語法。然而,爲了找回結果模式涉及解析,那麼你如何嘗試這個。
DataTable table = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter("select * from yourtable", "your connection string");
sda.FillSchema(table, SchemaType.Source);
相關問題
- 1. 解析T-SQL語句
- 2. 解碼/解析UPDATE sql語句
- 3. 需要java API來解析SQL語句
- 4. 使用PLY解析SQL語句
- 5. 解析SQL語句的反諷
- 6. SQL語句的解析樹 - 正好適用於「SELECT」語句
- 7. PHP解析語句錯誤if語句
- 8. 使用佔位符來解析SQL語句中的Where子句
- 9. C#中的Sql解析器用於語法檢查Oracle語句
- 10. 瞭解SQL CURSOR語句
- 11. T-SQL IF語句解釋
- 12. 瞭解Ruby如何解析語句
- 13. Stuck在連接子句中解析SQL Select語句(包括BNF語法)
- 14. 將Oracle解碼語句轉換爲SQL Server T-SQL語句
- 15. 如何爲sql語句開發解析器?
- 16. 解析SQL select語句中的字符串
- 17. 從一堆SQL語句中解析表名
- 18. 變量不會在PL-SQL語句中解析
- 19. 解析SQL語句的正則表達式
- 20. 解析JSON在PHP中創建SQL插入語句
- 21. 解析SQL創建使用ANTLR4 TABLE語句
- 22. 如何解析表的名稱SQL查詢語句
- 23. T-SQL在選擇語句中解析文本
- 24. 用於解析類似SQL的語句的Ragel FSM
- 25. 解析SQL語句Oracle和TOAD的階段
- 26. 如果語句解析不正確
- 27. 無法解析的SELECT語句
- 28. If/else/elseif語句解析不正確
- 29. 解析兩種語句,優先級爲
- 30. 「use」語句未被phplint解析
如果您可以訪問數據庫和程序/視圖/不管,你可能只是看'information_schema'表中找到參數/列等等不用解析語句的名字。 – Bridge
哪個版本的SQL Server?對於SQL Server 2012,您可以使用Microsoft SQL Server 2012 Transact-SQL語言服務。 –
[解析C#中的SQL代碼]可能的重複(http://stackoverflow.com/questions/589096/parsing-sql-code-in-c-sharp) – Justin