解决 SQLite数据库 no current row
场景:
SQLite数据库,在查询数据时,提示 标题错误异常。查看堆栈,是在SQLiteDataReader.CheckValidRow 时报错。
数据查询是通过 adapter.Fill(dt) 进行的;
分析:
看了网友的分析,有的说是改用SQLiteDataReader来先进行判断有无数据的。但这都不是我想要的解决方案。因为在Navicat for sqlite中是可以正常执行的。
改之前的语句如下:
SELECT b.OrgName,ifnull(a.bds,0)bds, ifnull(c.je,0) jhje,ifnull(a.bdje,0)bdje,ifnull(a.bdje*100/c.je,0) jd
from KJ_OrgInfo b LEFT JOIN (SELECT orgid, sum(bds) bds, sum(bdje) bdje
FROM
(
SELECT
(SELECT parentorgid FROM kj_orginfo WHERE orgid = j.dwid) orgid,bds,bdje
FROM rbmx j
WHERE j.tbjd = '2'
) h
GROUP BY orgid)a on a.orgid = b.OrgId,
jdjh c
where b.OrgLevel='2' and b.orgid = c.dwid and c.nd='2015' and c.jd='2' order by b.PXM
修改后语句:
SELECT b.OrgName,ifnull(a.bds,0)bds, ifnull(c.je,0) jhje,ifnull(a.bdje,0)bdje,ifnull(a.bdje*100/c.je,0) jd
from
jdjh c ,KJ_OrgInfo b LEFT JOIN (SELECT orgid, sum(bds) bds, sum(bdje) bdje
FROM
(
SELECT
(SELECT parentorgid FROM kj_orginfo WHERE orgid = j.dwid) orgid,bds,bdje
FROM rbmx j
WHERE j.tbjd = '2'
) h
GROUP BY orgid)a on a.orgid = b.OrgId
where b.OrgLevel='2' and b.orgid = c.dwid and c.nd='2015' and c.jd='2' order by b.PXM
解决:
隔了一夜再来看问题,怀疑是不是关联导致的,先把左关联去掉,正常执行,看来是关联导致的。再想,是不是先设置关联表的原因。又把c表提前,放到b的前面(from后面)。
成功!
解决 SQLite数据库 no current row的更多相关文章
- 解决SQLite数据库中文乱码问题
关于SQLite中出现中文乱码的分析以及解决方案 我们在使用SQLite数据库时候,可能会发现,向数据库插入数据时候显示的是汉字,但通过SQLite读出来时却显示的乱码,这是因为SQLite数据库 ...
- SQLite数据库在多线程写锁文件的解决办法
参考了很多SQLITE数据库多线程的解决办法 我自己写了一个SQLITEHELPER 来解决这个问题 希望大家多多指教 调用的时候 SQLLiteDBHelper _SQLLiteDBHelper ...
- WP7开发 Sqlite数据库的使用 解决Unable open the database
WP7本身不支持Sqlite数据库,但我们可以添加第三方组件让它支持Sqlite. 首先在项目中添加引用Community.CsharpSqlite.WP.dll,我会放后面让大家下载,我下了有几天了 ...
- Sqlite 数据库出现database disk image is malformed报错的解决方法
软件用的是Sqlite数据库,昨天还好好的,今天开机登录软件报错:database disk image is malformed 用Sqlite Expert Personal 重建索引,发现其中一 ...
- 并发访问sqlite数据库出现databse is locked的错误的一个解决办法
作者:朱金灿 来源:http://blog.csdn.net/clever101 在并发访问sqlite数据库会出现这样一个错误:databseis locked,这是sqlite数据库对并发支持不太 ...
- Delphi 2010下使用sqlitesimpledelphi连接SQLite数据库及中文乱码问题的解决
应女朋友的要求,要写一款销售管理的软件.用于管理服装店每天的销售记录,已及管理服装店的客户,并对客户进行生日提醒 因为之前使用C#写过一款家庭管理软件,主要是自己用,所以使用了服务器型数据库MySQL ...
- C#操作SQLite数据库
SQLite介绍 SQLite is a software library that implements a self-contained, serverless, zero-configurati ...
- [开发笔记]-sqlite数据库在使用时遇到的奇葩问题记录
有时候做些简单的项目一般都会选择sqlite数据库,优点有很多,这里就不详细说了. 在此主要记录一些平时在使用时遇到的问题及解决方法.希望能对大家有所帮助. --------------------- ...
- C# 在SQLite数据库中存储图像 z
C# 在SQLite数据库中存储图像 更多 0 C# SQLite 建表语句 CREATE TABLE [ImageStore]([ImageStore_Id] INTEGER NOT NULL ...
随机推荐
- jqueryIFrame框架内元素操作
//获取框架内元素 $(document.getElementById('main').contentWindow.document.body).find("#txtRD_Num" ...
- magic矩阵 分类: 数学 2015-07-31 22:56 2人阅读 评论(0) 收藏
魔方矩阵 魔方矩阵是有相同的行数和列数,并在每行每列.对角线上的和都相等.你能构造任何大小(除了2x2)的魔方矩阵. 1.历史 魔方又称幻方.纵横图.九宫图,最早记录于我国古代的洛书.据说 ...
- C#部分---利用arraylist集合做滚动抽奖;
输入多个手机号码,放到集合中,进行三秒钟的滚动抽奖:随机显示号码,清空,再显示: 1.收集号码: 2.每隔三秒进行抽奖,及作弊代码,哈哈哈: 3.System.Threading.Thread.Sle ...
- CDH hadoop的安装
1 先拷贝tar包到目录底下(tar 包解压 tar zxvf) 2 : 1.使用课程提供的hadoop-2.5.0-cdh5.3.6.tar.gz,上传到虚拟机的/usr/local目录下.(htt ...
- N皇后回溯解法 leetcode N-Queens
class Solution { public: vector<vector<string> > solveNQueens(int n) { vector<vector& ...
- Bootloader的原理以及实现(转载)
BootLoader工作原理 BootLoader工作原理 BootLoader指系统启动后,在操作系统内核运行之前运行的一段小程序.通过BootLoader,我们可以初始化硬件设备.建立内存空间的映 ...
- 两篇很牛的vim使用技巧
读本文之前请注意: 1. 本文的目标是提供一些vim的使用技巧,利用这些技巧可以提高vim的操作效率.部分技巧在vi上也可以使用,但是现在基本上都是用vim了. 2. 本文是整理和总结使用技巧,而非讲 ...
- Awesome Reinforcement Learning
Awesome Reinforcement Learning A curated list of resources dedicated to reinforcement learning. We h ...
- rsync-3.0.6-64
http://rsync.samba.org/ 用的是rsync-3.0.6-12.el6.x86_64 Rsync version 3.1.1 released June 22nd, 2014 Rs ...
- 将n阶方阵左下半三角中的元素值置0.
/*===================================== 将n阶方阵左下半三角中的元素值置0. 0<n<10. =========================== ...