本帖最后由 我是MT 于 2015-9-4 19:52 编辑
[C#] 纯文本查看 复制代码 public void getAlarmStatus()
{
SQLiteConnection conn = null;
string dbPath = "Data Source =" + Application.StartupPath + @"\Sqlite\log.db";
conn = new SQLiteConnection(dbPath);//创建数据库实例,指定文件位置
conn.Open();
string timenow = System.DateTime.Now.ToString("MM-dd HH:mm");//当前系统时间
string sql = string.Format("select IfAlarm from logs where id=(select id from logs order by id desc LIMIT 1);", timenow);
SQLiteCommand GetAlarmStatus = new SQLiteCommand(sql, conn);
//GetAlarmStatus.ExecuteNonQuery();
SQLiteDataReader reader = GetAlarmStatus.ExecuteReader();
string Ifalarm = reader.GetString(0);
conn.Close();
}
我通过数据库查看器运行sql语句是能够查询到东西,并且中断调试过程中,查看reader中确实是有东西的,但是为何通过reader.GetString(0) 无法获得结果呢,而且提示No current row。
我用查看器执行这个sql语句没错呀,能够看到结果:
string Ifalarm = reader.GetString(0); 这句代码为何会报错呢,百思不得其解啊。
异常的详细文本附件txt。
我复制了表达式的准确路径,应该是:
((System.Data.Common.DataRecordInternal)((new System.Linq.SystemCore_EnumerableDebugView(reader)).Items[0]))._values[0]
reader.Items[0]._values[0] 这样子根本行不通。哪位高手有比较熟悉sqlite操作的。谢谢了。
OK。自己搞定了,
|