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