当前位置:编程学习 > C#/ASP.NET >>

dataSet奇怪问题

OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);
            DataSet ds = new DataSet();
            da.Fill(ds);
----------------------------------------------------------
sql用语句查询的时候 有数据
为什么填充dataSet的时候就变成没有数据了。。。。。。
-----------------------------------------------------------
如果sql里面的语句是查询全部的时候
就能填充dataSet呢? --------------------编程问答-------------------- 查询全部的就可以,那意思是如果查询某几条就不行了,是吧?很诡异呀。。。在贴点代码 --------------------编程问答-------------------- 哦  对了  断点调试一下,跟着瞅瞅 看看哪儿出岔子了。。。。 --------------------编程问答-------------------- 就这么点代码,看不出来 --------------------编程问答-------------------- 拿代码出来给哥瞅瞅 --------------------编程问答-------------------- 求查询语句!~。。发两贴!~ --------------------编程问答-------------------- 贴出你的sql语句,你查询全部没有问题,而查询部分时有问题,说明你的查询条件 where 后面参数有问题。 --------------------编程问答-------------------- OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);
            DataSet ds = new DataSet();
            da.Fill(ds);
            DataTable dt = ds.Tables[0];
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                没有数据进不来
            }
这个是根据日期查询
sql=“SELECT XZBA_Baxx_Zt_xx.IspZtid,XZBA_Baxx_Wz_xx.ifICP,XZBA_Baxx_Zt_xx.Zt_xx_Zsyxq,XZBA_Baxx_Zt_xx.Zt_xx_Fzr_sjhm,XZBA_Baxx_Zt_xx.Zt_xx_Dwmc, XZBA_Baxx_Wz_xx.Basj_Wz_xx_Baxh, XZBA_Baxx_Wz_xx.Wz_xx_Wzmc,XZBA_Baxx_Wz_xx.Wz_xx_Syurl, XZBA_Baxx_Zt_xx.Zt_xx_Msn, XZBA_Baxx_Zt_xx.Zt_xx_Bbfs FROM (XZBA_Baxx_Wz_xx INNER JOIN XZBA_Baxx_Zt_xx ON XZBA_Baxx_Zt_xx.IspZtid=XZBA_Baxx_Wz_xx.IspZtid ) where 1=1  and XZBA_Baxx_Zt_xx.Hsjgxx_Hssj >='2012-05-17'  and XZBA_Baxx_Zt_xx.Hsjgxx_Hssj <='2013-05-17' order by XZBA_Baxx_Zt_xx.IspZtid desc”;
这个是全部查询
sql=“SELECT XZBA_Baxx_Zt_xx.IspZtid,XZBA_Baxx_Wz_xx.ifICP,XZBA_Baxx_Zt_xx.Zt_xx_Zsyxq,XZBA_Baxx_Zt_xx.Zt_xx_Fzr_sjhm,XZBA_Baxx_Zt_xx.Zt_xx_Dwmc, XZBA_Baxx_Wz_xx.Basj_Wz_xx_Baxh, XZBA_Baxx_Wz_xx.Wz_xx_Wzmc,XZBA_Baxx_Wz_xx.Wz_xx_Syurl, XZBA_Baxx_Zt_xx.Zt_xx_Msn, XZBA_Baxx_Zt_xx.Zt_xx_Bbfs FROM (XZBA_Baxx_Wz_xx INNER JOIN XZBA_Baxx_Zt_xx ON XZBA_Baxx_Zt_xx.IspZtid=XZBA_Baxx_Wz_xx.IspZtid ) where 1=1“; --------------------编程问答--------------------  但是 根据条件查询的时候 数据库中是有值的 --------------------编程问答-------------------- 放到查询分析器能执行? --------------------编程问答-------------------- 恩,是不是这个时间段内没有数据 --------------------编程问答-------------------- 分析器?  我用的是 access 那个 sql查询  
  出来的结果是里面有值 --------------------编程问答--------------------  >='2012-05-17'    <='2013-05-17'

敢问你这是?。。。。时间怎么存的 --------------------编程问答--------------------  DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
数据库里时间值是 2012-12-12 11:09:56 --------------------编程问答-------------------- 你时间值从哪获取的,作为参数它的格式正确嘛,你在页面中输出看看。 --------------------编程问答-------------------- sql=“SELECT XZBA_Baxx_Zt_xx.IspZtid,XZBA_Baxx_Wz_xx.ifICP,XZBA_Baxx_Zt_xx.Zt_xx_Zsyxq,XZBA_Baxx_Zt_xx.Zt_xx_Fzr_sjhm,XZBA_Baxx_Zt_xx.Zt_xx_Dwmc, XZBA_Baxx_Wz_xx.Basj_Wz_xx_Baxh, XZBA_Baxx_Wz_xx.Wz_xx_Wzmc,XZBA_Baxx_Wz_xx.Wz_xx_Syurl, XZBA_Baxx_Zt_xx.Zt_xx_Msn, XZBA_Baxx_Zt_xx.Zt_xx_Bbfs FROM (XZBA_Baxx_Wz_xx INNER JOIN XZBA_Baxx_Zt_xx ON XZBA_Baxx_Zt_xx.IspZtid=XZBA_Baxx_Wz_xx.IspZtid ) where 1=1 and COUNVRT(varchar(12),XZBA_Baxx_Zt_xx.Hsjgxx_Hssj,23) >='2012-05-17' and COUNVRT(varchar(12) ,XZBA_Baxx_Zt_xx.Hsjgxx_Hssj,23) <='2013-05-17' order by XZBA_Baxx_Zt_xx.IspZtid desc”;

试试看,估计是你日期格式的问题 --------------------编程问答-------------------- 打错了,函数是convert

--------------------编程问答-------------------- 2011-05-17 11:49:57  时间对啊  15楼的 也不行- -!  找了一上午了  。。。。 --------------------编程问答-------------------- 2012年的那个时间值 是我自己手动填的 测试这个sql语句好不好使用的 --------------------编程问答-------------------- 你页面中2个时间值从哪获取的?你输出你获取到的时间值,检查下格式 --------------------编程问答-------------------- 条件 convert(varchar(12),XZBA_Baxx_Zt_xx.Hsjgxx_Hssj,23) BETWEEN '2012-05-17' AND '2013-05-17')
试下了 --------------------编程问答-------------------- (convert(varchar(12),XZBA_Baxx_Zt_xx.Hsjgxx_Hssj,23) BETWEEN '2012-05-17' AND '2013-05-17')
个人觉得一定是格式的问题,以前我也遇到过。。

--------------------编程问答--------------------
引用 11 楼 b537051920 的回复:
分析器? 我用的是 access 那个 sql查询  
  出来的结果是里面有值


access 与 sql 语句是有差别的 --------------------编程问答-------------------- 你现在要确定的是你的sql语句是准确的,并且是可以查到数据的。 --------------------编程问答-------------------- 调试下,看下问题所在,数据源里有没有~ --------------------编程问答-------------------- 肯定是加条件的时候没有数据了吧,这个得检查你的sql语句呀,可以输出来放到查询分析器中运行下 --------------------编程问答--------------------
你写的这个方法不会在Web层吧
如果在Web层 
考虑下 加 if(!IsPostBack) --------------------编程问答-------------------- 肯定是sql的问题,response.write(sql),然后把获得的sql在access运行查询,就知道问题再哪了。 --------------------编程问答-------------------- 你的日期字段是什么类型的?是varchar还是Date
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,