两个位于不同数据库的表需要复制,想通过odbc读入到dataset中然后用update更新入目标数据库,但是update后一点反应也没有?附上代码

问题描述

privatevoidbutton1_Click(objectsender,EventArgse){OdbcConnectionOCsrc=newOdbcConnection("dsn=src;uid=sa;pwd=sss;database=src");OdbcDataAdapterDAsrc=newOdbcDataAdapter("select*fromitem",OCsrc);OdbcConnectionOCdst=newOdbcConnection("dsn=dst;uid=sa;pwd=123;database=test");OdbcDataAdapterDAdst=newOdbcDataAdapter("select*fromitem_dst",OCdst);OdbcCommandBuilderCB=newOdbcCommandBuilder(DAdst);DataSetDS_src=newDataSet();DataSetDS_dst=newDataSet();DAsrc.TableMappings.Add("Table","src");DAdst.TableMappings.Add("Table","dst");DAsrc.Fill(DS_src);DAdst.Fill(DS_dst);DataTableDTsrc=DS_src.Tables["src"];DataTableDTdst=DS_dst.Tables["dst"];OCdst.Open();DS_dst.Tables["dst"].Merge(DS_src.Tables["src"]);dataGridView1.DataSource=DS_dst.Tables["dst"];DAdst.Update(DS_dst);OCdst.Close();}

解决方案

解决方案二:
1:Update不支持同时更新两个表的2:一般要更新的话需加上OdblCommandBuilderob=newOdbcCommandBuilder(要更新的OdbcDataAdapter);3:对于你的这个需求建议你把DataSet一个一个的更新OdblCommandBuilderob=newOdbcCommandBuilder(DAsrc);DAsrc.Update(DS_src)OdblCommandBuilderob=newOdbcCommandBuilder(DAdst);DAsrc.Update(DS_dst)PS:你这两个捞出来的数据结构应该都是一样的吧

时间: 2024-10-11 09:11:01

两个位于不同数据库的表需要复制,想通过odbc读入到dataset中然后用update更新入目标数据库,但是update后一点反应也没有?附上代码的相关文章

c# 数据库表连接查询-C#代码中查询数据库查询两个连接起来的表怎么获取数据并把数据放到DataSet中?

问题描述 C#代码中查询数据库查询两个连接起来的表怎么获取数据并把数据放到DataSet中? 以下是获取所有信息的代码函数: public static DataSet GetAllInfos() { string sql = "select InfoID,InfoTitle,InfoTime,InfoContent,i.AccountID,a.AccountName from Info as i inner join Account as a on i.AccountID = a.Accoun

如何将dataset中的某些字段更新进数据库?

问题描述 dataset中不是全部数据字段都有用,且数据库中的字段数远大于dataset中的,如何实现导入? 解决方案 解决方案二:那你在定义SqlDataAdapter的时候中的SelectCommand的时候就指定要更新的列就可以了比如你只想更新DATASET中的列2,列4,列6的话SqlDataAdapterad=newSqlDataAdapter("select列2,列4,列6ffrom表",连接);SqlCommandBuildersb=newSqlCommandBuilde

SQL Server游标运用:查看一个数据库所有表大小信息

一.背景 在性能调优或者需要了解某数据库表信息的时候,最直观的方式就是罗列出这个数据所有表的信息,这些信息包括:表的记录数.数据记录占用空间.索引占用空间.未使用的空间等(如Figure1所示),有了这些信息你可以简单的判断这个数据库来自数据上的压力可能是某个表造成的.因为表数据越大,对数据库性能的影响越大. 要实现某个数据库所有表的信息,可以通过游标的形式获取相应的数据,下图Figure1返回某数据库中所有表的信息: (Figure1:某数据库所有表信息) 也许你并不满足于Figure1的信息

databasename-安卓 数据库创建表的使用

问题描述 安卓 数据库创建表的使用 安卓 最近做的安卓程序中需要好几张表 我想要像java一样在一个数据库中创建 几张表 ,但是不知道是不行还是我做的有问题,实现不了 我的程序创建表的databasename都一样,然后表名称不一样,我以为这样就是在一个数据库 中创建几张表,但是程序报错,只有一张表创建成功了,从其他表中获取数据 时都说no such table 求指教 解决方案 你是自建数据库.db文件吧?可以去下几个网上的demo看看,应该不难.

MySQL数据库之UPDATE更新语句精解

用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句.本文以MySQL为背景来讨论如何使有SQL中的更新语句. 一.INSERT和REPLACE INSERT和REPLACE语句的功能都是向表中插入新的数据.这两条语句的语法类似.它们的主要区别是如何处理重复的数据. 1. INSERT的一般用法 MySQL中的INSERT语句和标准的INSERT不太一样,在标准的SQL语句中,一次插入一条记录的INSERT语句只有一种形式

比较两个数据库的表结构差异

比较|数据|数据库 /*--比较两个数据库的表结构差异 --*//*--调用示例  exec p_comparestructure 'xzkh_model','xzkh_new'--*/ if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_comparestructure]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [dbo].

在C#中自己写程序代码合并两个ACCESS数据库,如表a1.姓名插入a2.姓名里,我是这样写的,可就是不对

问题描述 在C#中自己写程序代码合并两个ACCESS数据库,如表a1.姓名插入a2.姓名里,我是这样写的,可就是不对if(this.openFileDialog1.ShowDialog()==DialogResult.OK){this.textBox2.Text=openFileDialog1.FileName.ToString();}try{if(textBox2.Text!=null){stringlink_tex0="Provider=Microsoft.Jet.OLEDB.4.0;Dat

数据库迁移-sqlite3数据库两个数据库文件表之间的复制

问题描述 sqlite3数据库两个数据库文件表之间的复制 sqlite3怎样将A数据库中Table1的数据复制到B数据库的Table1中 数据量很大 用C++实现 解决方案 程序取出数据,然后插入sql

表单-多表头和可变表头(一条信息的数据量大小可变。)该怎么设计数据库的表结构。

问题描述 多表头和可变表头(一条信息的数据量大小可变.)该怎么设计数据库的表结构. 我现在有一个表单需要存入数据库.但是客户要求该表单的 表头可变.也就是他要自定义表单.这种情况我该怎么为这张表单设计表结构了?同时该表单中的所有字段都要参加计算的,有些项的值是其他项通过计算得出的.虽然是简单的加减乘除,但是客户要求可以自动的计算.小弟用的Spring MVC+JPA 数据库mysql 或者 oracle 解决方案 一般一个表单中的字段分为固定的字段和 动态的字段. 将固定的字段,设计成一张表,称