C#实现复制数据库 C#将A数据库数据转到B数据库
程序员文章站
2023-12-15 08:04:04
本文章以一个表为例,要转多个表则可将dataset关联多个表,下面给出完整代码,包括引用以及main函数与复制函数。
要说明的是,必须先用sql语句复制表结构,才能顺利的...
本文章以一个表为例,要转多个表则可将dataset关联多个表,下面给出完整代码,包括引用以及main函数与复制函数。
要说明的是,必须先用sql语句复制表结构,才能顺利的使用以下代码复制数据。
using system; using system.collections.generic; using system.linq; using system.text; using system.data; using system.data.sqlclient; using system.data.common; namespace copydata { class program { static void main(string[] args) { //要复制的表名 string table = "v_position"; //构造连接字符串 sqlconnectionstringbuilder builder1 = new sqlconnectionstringbuilder(); builder1.datasource = ".\\canfly"; //实例名称为canfly builder1.initialcatalog = "desdata"; //目标数据库 builder1.integratedsecurity = true; //使用windows身份验证 sqlconnectionstringbuilder builder2 = new sqlconnectionstringbuilder(); builder2.datasource = ".\\canfly"; builder2.initialcatalog = "bddata"; //源数据库 builder2.integratedsecurity = true; //调用复制数据库函数 inserttable(builder1.connectionstring, builder2.connectionstring, table); } //参数为两个数据库的连接字符串 private static void inserttable(string constring1, string constring2, string tabstr) { //连接数据库 sqlconnection conn1 = new sqlconnection(); conn1.connectionstring = constring1; conn1.open(); sqlconnection conn2 = new sqlconnection(); conn2.connectionstring = constring2; conn2.open(); //填充dataset1 sqldataadapter adapter1 = new sqldataadapter("select * from " + tabstr, conn1); dataset dataset1 = new dataset(); if (dataset1 != null) { adapter1.fill(dataset1, tabstr); } sqldataadapter adapter2 = new sqldataadapter("select * from " + tabstr, conn2); dataset dataset2 = new dataset(); sqlcommand cmd2 = new sqlcommand("select count(*) from " + tabstr, conn2); object res2 = cmd2.executescalar(); if (res2 != null) { int ncount = convert.toint32(res2.tostring()); if (ncount == 0) { conn1.close(); conn2.close(); return; } } //填充dataset2 if (dataset2 != null) { adapter2.fill(dataset2, tabstr); } //复制数据 for (int j = 0; j < dataset2.tables[0].rows.count; j++) { dataset1.tables[0].loaddatarow(dataset2.tables[0].rows[j].itemarray, false); } //将dataset变换显示在与其关联的目标数据库 sqlcommandbuilder cb = new sqlcommandbuilder(adapter1); adapter1.update(dataset1, tabstr); cb.refreshschema(); console.writeline("表" + tabstr + "复制成功!"); conn1.close(); conn2.close(); } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读
-
C#实现复制数据库 C#将A数据库数据转到B数据库
-
Windows 8 Metro用C#连接SQLite及创建数据库,数据表的增删改查的实现
-
C#实现远程连接ORACLE数据库的方法
-
C#实现连接SQL Server2012数据库并执行SQL语句的方法
-
C# Ado.net实现读取SQLServer数据库存储过程列表及参数信息示例
-
C#如何实现对sql server数据库的增删改查
-
C#实现按数据库邮件列表发送邮件的方法
-
C#中通过使用Connection类来实现打开/关闭数据库的代码实例
-
C#实现Excel表数据导入Sql Server数据库中的方法
-
C#实现的ACCESS数据库操作类完整实例