解决 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 ...
随机推荐
- vmware-workstation-11中centos-6.6安装
排版比较乱,参见 https://www.zybuluo.com/Jpz/note/144303 VMware Workstation 11中CentOS 6.6安装 Linux开发环境配置 目录 V ...
- HTML5 3D动画效果
对以前来讲,3D动画拿到网页上展示是一件非常奢侈的事情,第一是浏览器不够先进,第二是大部分只能用flash实现伪3D.HTML5的出现,让实现网页3D动画变得非常简单,当然前提是你不要再使用像IE67 ...
- php部分--数组(包含指针思想遍历数组);
1.创建并输出数组 (1)相同数据类型的数组$attr=array(1,2,3,4,5); print_r($attr); echo "<br>"; $sttr1=ar ...
- Docker网络管理
一.Docker的四种网络模式(host.container.none.bridge) 1. host模式,使用docker run时使用--net=host指定,docker使用的网络实际上和宿主机 ...
- CDH hadoop的安装
1 先拷贝tar包到目录底下(tar 包解压 tar zxvf) 2 : 1.使用课程提供的hadoop-2.5.0-cdh5.3.6.tar.gz,上传到虚拟机的/usr/local目录下.(htt ...
- Android应用开发高效工具集1---ant构建简单Android项目
本文转载于:http://blog.csdn.net/lincyang/article/details/40950153 在java编译那些事儿中提到了用ant去编译Java项目,今天扩展到用它来构建 ...
- 20 款超棒免费的 Bootstrap 管理和前端模板
http://www.oschina.net/news/62506/20-best-free-bootstrap-admin-and-frontend-templates-2015
- Oracle数据库—— 事务处理与并发控制
一.涉及内容 1.理解事务的概念和几个特性. 2.熟练掌握事务管理命令的使用. 3.理解并发操作的概念和数据库锁的类型. 二.具体操作 (12.5 实验) 1. 分析以下代码,说出代码中的哪些部分体现 ...
- Oracle数据库—— 存储过程与函数的创建
一.涉及内容 1.掌握存储过程与函数的概念. 2.能够熟练创建和调用存储过程与函数. 二.具体操作 1.创建存储过程,根据职工编号删除scott.emp表中的相关记录. (1)以scott 用户连接数 ...
- docker 数据共享,数据复制
docker 提供的数据共享的方式有 docker run -it -v:/dataname image 数据复制使用 docker cp containerid:/dataname ...