我连接oracle数据库时。。总是说我字符错误
不知道什么原因。。因为刚刚接触oracle数据库。。所以有点迷惘。。
还请大家指教下啊
把相关代码贴上去。。麻烦了。。
<add key="strConn" value="user id=AllDecl;data source=oral;password=AllDecl;Max Pool Size = 300"/>//这个是webconfig中的配置。
public DataSet ExecuteDataSet(string sql)
{
DataSet ds = new DataSet();
        OracleCommand cmd=cn.CreateCommand();
cmd.CommandText=sql;
                OracleDataAdapter oda = new OracleDataAdapter(cmd);
                oda.Fill(ds);
                return ds;
           }
这个是写了一个专门连接的类中的一个方法。。connection对象在这个类类的构造方法中就创建了。。
public void BindData()
    {
        string sql = "select tt.declare_id,tt.ciq_decl_no,tb.ent_cname,f_sel(tt.tranuntread_state) from t_tranuntread_record
tt,t_ent_base_info tb where tt.ent_reg_code=tb.ent_reg_code;";
        string sql2 = "select * from t_tranuntread_record;";
        DataSet ds = t.ExecuteDataSet(sql2);
        this.GridList.DataSource = ds;
        this.GridList.DataBind();
    }
这个就是我写的方法了每次在调用方法的时候都说字符错误不知道什么原因。。
请大家帮我看看。。谢谢了

解决方案 »

  1.   

    http://bbs.ikaka.com/showtopic-6528631.aspx
      

  2.   

    select tt.declare_id,tt.ciq_decl_no,tb.ent_cname,f_sel(tt.tranuntread_state) from t_tranuntread_record 
    tt,t_ent_base_info tb where tt.ent_reg_code=tb.ent_reg_code
    ==
    试试select tt.declare_id,tt.ciq_decl_no,tb.ent_cname,f_sel(tt.tranuntread_state) 
    from t_tranuntread_record tt inner join t_ent_base_info tb 
    on tt.ent_reg_code=tb.ent_reg_code
      

  3.   

    cn.CreateCommand(); cn是从什么地方弄的阿!不行直接在程序里调用那个字符窜!
      

  4.   

    cn你有open吗?好像前面你问过f_sel这个函数的问题
      

  5.   

    另外SELECT TT.DECLARE_ID, TT.CIQ_DECL_NO, TB.ENT_CNAME, F_SEL(TT.TRANUNTREAD_STATE)
      FROM T_TRANUNTREAD_RECORD TT, T_ENT_BASE_INFO TB
     WHERE TT.ENT_REG_CODE = TB.ENT_REG_CODE这个函数F_SEL是单独的,还是在包里面,如果你放在包里面,就需要包的名字.F_SEL(...)
      

  6.   

    public DataSet ExecuteDataSet(string sql) 

        DataSet ds = new DataSet(); 
        if (cn.State == ConnectionState.Closed)
        {
            cn.Open();
        }

        OracleCommand cmd = cn.CreateCommand(); 
        cmd.CommandText=sql; 
        OracleDataAdapter oda = new OracleDataAdapter(cmd); 
        oda.Fill(ds); 
        return ds;