为什么 Oracle.Helper.FillDataset执行的和直接PL/SQL里执行的不一样?
select V_XT_CSB.ID ID,
V_XT_CSB.DM DM,
V_XT_CSB.MC MC,
DMQZ,
ZYDW,
V_XT_CSB.SFYX SFYX,
QZLX,
YWLB,
XT_YWLBB.MC YWLBMC,
DM_XZQHB.MC ZYDWMC
FROM V_XT_CSB, XT_YWLBB , DM_XZQHB
WHERE V_XT_CSB.SFYX = '1'
AND ZYDW = '320000'
AND V_XT_CSB.YWLB = XT_YWLBB.DM(+)
AND V_XT_CSB.ZYDW = DM_XZQHB.DM(+)
order by V_XT_CSB.ID
以上在PL/SQL里执行是37行
用以下的执行就只有35行 sql就是上述的SQL语句,XTCSBdataSet.Tables[0].Rows.Count.ToString() 显示的是35
using (OracleConnection cn = Common.ServerCommon.OpenConnection())
{
Oracle.Helper.FillDataset(cn, System.Data.CommandType.Text, sql, XTCSBdataSet, tablename);
}
是什么原因呢?
------解决方案--------------------
不可能的,你检查下连接字符串,也许有2个数据库,你的数据来源不一样。
------解决方案-------------------- using (OracleConnection cn = Common.ServerCommon.OpenConnection())
{
Oracle.Helper.FillDataset(cn, System.Data.CommandType.Text, sql, XTCSBdataSet, tablename);
}
打断点看下 sql 变量!!!!!