高手请进,写一个方法如何操作Datatable实现改变列值后,交换

[复制链接]
查看11 | 回复1 | 2007-10-20 08:38:44 | 显示全部楼层 |阅读模式
写一个方法如何操作Datatable实现改变列值后,交换(更新、插入)两个不同数据源dataset的DataTable....
ACCESS库里的表和ORACLE里的表都是TJB,不同的是前两列(关键字)的不同哦,ACCESS里是JTMC,JH,DQLS,ORACLE里是JHDH,JTID,DQLS,JHDH,JTID,DQLS值已经通过 JHDH='{WELLID}' AND JTID='{JTID}' AND DQLS='{DQLS}' 转换得到,如何操作Datatable实现替换ACCESSDB Datatable里的前两列关键字字段的值,其他列值不变,交换数据。
//////ACCESS、ORACLE表结构,xml描述如下:数据更新和插入////////////////////////////////////////////////
JCDB
JTMC,JH,DQLS

JTMC,JH,DQLS,drjs,rq,xh
JDDB

JHDH,JTID,DQLS
JTMC,JH,DQLS,drjs,rq,xh

JHDH='{WELLID}' AND JTID='{JTID}' AND DQLS='{DQLS}'

////////////////////////////////////////////////////////////////////////////////////////
//大致程序思路如下 ....
DataTable dt = new DataTable("temptabel");
//添加两列CustID,CustLName数据类型分别为Int32,String,并添加到数据表中
DataColumn JHDH= new DataColumn("JHDH", Type.GetType("System.Int32"));
DataColumn JTID= new DataColumn("JTID", Type.GetType("System.Int32"));
dt.Columns.Add(JHDH);
dt.Columns.Add(JTID);

//利用循环创建数据行并赋值,添加到数据表中
for (int i = 0; i< al.Count; i++)
{
DataRow dr = dt.NewRow();
DS_Option dso = (DS_Option)al;
dr["JHDH"] = GetJHDH(sql);
dr["JTID"] = GetJTID(sql);
//除这两列数据替换外其他数据保留,怎么做???????????????....
将从DataSet中查询出来的数据以行的形式保存到arow中。
string[] updateCols = whereExp.Split(',');

if (strCode=="")

{

updateCols = new string[_ACCESSDB.DataCollect.Tables[0].Columns.Count];

for (int i = 0; i< updateCols.Length; i++)

updateCols = _ACCESSDB.DataCollect.Tables[0].Columns.ColumnName;

}
DataRow[] arow = ds.Tables[temptabel].Select("JH='" + updateCols [0].ToString() + "' and JTMC ='" + updateCols [1].T
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
lz是永久交换,还是只显示时交换,如果永久交换,最好利用数据库的功能
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行