首页 新闻 赞助 找找看

c#查询oracle数据库返回空集,在plsql Developer中用sql语句查询有值

0
悬赏园豆:20 [已解决问题] 解决于 2013-04-25 23:29

public List<TableModel> GetModel(string name,DateTime maxrq,DateTime minrq)
{
string sqlstr="select * from table where name=:name and rq between :minrq and :maxrq";
OracleParameter[] param = new OracleParameter[] {
new OracleParameter ("name",OracleType .VarChar ),
new OracleParameter("maxrq",OracleType.DateTime),
new OracleParameter("minrq",OracleType.DateTime),
};
param[0].Value = name;
param[1].Value =minrq;
param[2].Value=maxrq;
OracleDataReader reader=DBHelperOracle.EcecuteRead(sqlstr,param);
List<TableModel > lModel=new List<TableModel> ();
if (reader.HasRows )
{
TableModel tModel=new TableModel ();
while (reader.Read())
{
tModel .name=reader.IsDBNull(0)?"匿名":reader.GetString(0);
tModel .age=reader.IsDBNull(1)?0:reader.GetInt32 (1);
tModel .gender=reader.IsDBNull(2)?true:reader.GetBoolean (2);
lModel .Add (tModel );
}
}
return lModel;
}

minrq ,maxrq为oralce数据库另一张表查询的返回的值.

reader的各列为null,tModel.name,tModel.age,tModel .gender为默认值。

但在在plsql Developer中用参数替换sql语句查询有值

select * from table where name='mike' and rq between to_date('2007-2-2','yyyy-mm-dd') and to_date('2007-2-16','yyyy-mm-dd')

请教那里可能出错具体点

问题补充:

Ssqlstr写的正确吗

易顺金的主页 易顺金 | 初学一级 | 园豆:2
提问于:2013-04-19 23:20
< >
分享
最佳答案
0

遇到过啦,这个应该是数据同步的关系。首先你用sql查询出来的数据也许并没有在oracle中做提交事务这个操作,那么那个表的数据就是虚拟的,不是正确的。或者重新debug你的程序看看。

收获园豆:20
十四 | 初学一级 |园豆:46 | 2013-04-25 10:20
其他回答(1)
0

这个比较奇怪····

不负春光,努力生长 | 园豆:1382 (小虾三级) | 2013-04-21 23:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册