注册 登录
编程论坛 C# 论坛

winform 查询数据库

Sephirose 发布于 2014-08-05 15:59, 920 次点击
ArrayList al = new ArrayList();
for(int i=0;i<ds.Tables[0].Rows.Count;i++)
{
    al.Add(ds.Tables[0].Rows[i][0]);
}
string Query_TOut_Aff_byNoCrt = "select affaire_id,aff_stage_id from t_plan where crt_chg_sts=0 and aud_status=1 and end_date is null and plan_end_date<sysdate and aff_stage_id in '"+al+"'";
DataBase.con.Open();
OracleDataAdapter oracle = new OracleDataAdapter(Query_TOut_Aff_byNoCrt, DataBase.con);
DataSet affstage = new DataSet();
oracle.Fill(affstage, "table");
执行时发现OracleDataAdapter oracle返回的值为null,al中有数据。那个select语句在数据库里查询时是返回的有数据,是不是我那句select语句最后的给aff_stage_id赋值是有问题啊,应该怎么改呢?

[ 本帖最后由 Sephirose 于 2014-8-5 16:01 编辑 ]
3 回复
#2
习惯被动2014-08-06 11:10
是 oracle 的?没用过oraclo哦,不过我感觉你那个查询语句拼接的时候是有问题的吧?你的al在拼接的时候多个条件的话是没有分割符的。
#3
失落之城2014-10-21 10:17
先看一下 它的值Query_TOut_Aff_byNoCrt ,在数据库中执行以下看看有没有结果,就知道你的oracle 有没有值了
#4
xf7723803422014-11-10 10:13
SQL语句里面的in我没记错的话应该要加括号的吧,这样写试试看('"+al+"')
1