当 System.Data.SQLite
遇到 SQL 语法错误时,SQLiteExcption
的 Message
属性给出的唯一相关信息是名称SQL 错误及其附近的关键字/符号。有没有办法获取有关错误的更多信息 - 即 CommandText
字符串中发生错误的确切位置(或范围)?
它不一定来自 SQLiteException
- 从 SQLiteCommand
或 SQLiteConnection
获取该信息也会有所帮助。
最佳答案
此异常是由您的 SQL 语句中的语法错误引起的。 C# 本身无法为您提供更多信息。它只是将您的查询传递给 SQLite。 SQLite 然后解析您的查询并生成语法错误。该错误由 C# 捕获并打包在 SQLiteException
中。因此,您不是在要求 C# 为您提供更多信息,而是要求 SQLite 提供。
不幸的是,据我所知(经过一些谷歌搜索),SQLite 似乎无法为您提供更多信息。我找到的唯一其他选择是名为 SQLite Developer 的程序。 .我没试过,但它说它有(除了一大堆其他功能之外)语法检查器。该页面上该检查器的屏幕截图表明它强调了 SQL 语句中的语法错误。有付费版和免费精简版。您必须自己看看哪一个就足够了。
关于c# - 从 System.Data.SQLite.SQLiteException 获取更多信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7700913/