使用SQLiteDatabase记录SQL语句

时间:2011-11-20 08:28:46

标签: android sqlite

我想看看SQLiteDatabase生成的SQL语句,以了解出错的原因。有没有办法让SQLiteDatabase登录到logcat?

谢谢,   伊泰。

编辑:这与Logging SQL queries in android不同,因为我正在尝试记录插入和更新语句 - 我没有光标。

1 个答案:

答案 0 :(得分:2)

您必须使用跟踪API自行实现它,因此您可以实现SQLite Trace的回调:

  

在sqlite3_trace()注册的回调函数被调用   sqlite3_step()运行SQL语句的各种时间。   使用UTF-8渲染调用sqlite3_trace()回调   SQL语句文本作为语句首先开始执行。额外   每个触发的子程序都可能发生sqlite3_trace()回调   进入。触发器的回调包含UTF-8 SQL注释   识别触发器。

     

sqlite3_profile()注册的回调函数被调用为   每个SQL语句都完成了。配置文件回调包含   原始陈述文本和挂钟时间估计多长时间   该声明开始运行。配置文件回调时间以。为单位   纳秒,但目前的实现只能   毫秒分辨率因此是时间中的六个最低有效数字   毫无意义。 SQLite的未来版本可能会提供更多   分析器回调的分辨率。 sqlite3_profile()函数是   被认为是实验性的,并且在将来的版本中会有所变化   SQLite的。