现在正在用asp.net做一个项目,需要同时用到sql2000和oracle里面表的数据,想关联起来绑定在一个datagrid里面,不知道有什么好方法?代码如下:
OracleConnection oracon = new OracleConnection("Data Source=cdwf;User ID=aa;Password=bb;Integrated Security=no;");
oracon.Open();
string aa="Select id,name from student";
OracleDataAdapter myAdapter=new OracleDataAdapter(aa,oracon);
DataSet adata=new DataSet();
myAdapter.Fill(adata,"student");
DataGrid2.DataSource=adata.Tables[0].DefaultView;
DataGrid2.DataBind();
oracon.Close();SqlConnection CN=new SqlConnection(@"server=10.15.100.10;database=pine;uid=sa;pwd=sa;");
CN.Open();
string bb="Select id,tel from sqlsql";
SqlDataAdapter myAdapter1=new SqlDataAdapter(bb,CN);
DataSet adata1=new DataSet();
myAdapter1.Fill(adata1,"sqlsql");
DataGrid1.DataSource=adata1.Tables[0].DefaultView;
DataGrid1.DataBind();
CN.Close();
分别调试DataGrid1和DataGrid2都能通,现在想把sql2000的sqlsql表的id和oracle的stuedent表的id关联起来,显示在一个DataGrid里,显示id,name,tel字段。(由于其它原因只能用两个库),求助!

解决方案 »

  1.   

    可以把数据放到一个DataSet里面去,然后绑定到DataGrid上面
      

  2.   

    如果你两个数据库取出来的数据类型差不多的话,可以把一个DataSet里面的数据复制到另外一个DataSet里面
      

  3.   

    你把两个DATASET组合到一个里面,然后再绑定到DATAGRID里面就OK了
      

  4.   

    如果你两个数据库取出来的数据类型差不多的话,可以把一个DataSet里面的数据复制到另外一个DataSet里面
    -----------------------------------
    这样不好吧,在Grid中的修改还能全部保存到数据库吗?
      

  5.   

    我觉得这些数据的工作就应该在数据库里做,先在数据库里把两个数据源整合起来,然后在绑定到一个datagrid不是挺好吗
      

  6.   

    谢谢大伙帮忙,现在关键是分别调试DataGrid1和DataGrid2都能通(把DataGrid1的代码或者DataGrid2的代码标注了,剩一个都可以通),以上代码一起调试会报错,也不知道是不是不兼容?
      

  7.   

    你看看sql2000和oracle使用的端口是否一致
      

  8.   

    用System.Data.OleDb里的组件试试:
    OleDbConnection
    OleDbDataAdapter感觉这样Fill到DataSet里的数据会贴近点,没试过不知道行不行.
      

  9.   

    应该可以同时用,不会冲突。把人ORACLE中取得的DS复制出来放到DATATABLE中,再与SQL中的DS关联。