using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Windows.Forms;
using System.Data;namespace test
{
class clExec
{
static void Update_Table(string nCmd_E, string nCmd_T, string nTable)
{
SqlConnection nConn_Test = new SqlConnection();
nConn_Test = clConnection.fConnection("SQLTest");
nConn_Test.Open();
SqlCommand nCmd_Test = new SqlCommand(nCmd_T, nConn_Test);
SqlDataAdapter nDA_Test = new SqlDataAdapter(nCmd_Test);
DataSet nDS_Test = new DataSet();
nDA_Test.Fill(nDS_Test);
SqlConnection nConn_ERP = new SqlConnection();
nConn_ERP = clConnection.fConnection("ERP3");
nConn_ERP.Open();
SqlCommand nCmd_ERP = new SqlCommand(nCmd_E,nConn_ERP);
SqlDataAdapter nDA_ERP = new SqlDataAdapter(nCmd_ERP);
DataSet nDS_ERP = new DataSet();
nDA_ERP.Fill(nDS_ERP);
if (nDS_ERP.Tables[0].Rows.Count > 0)
{
try
{
foreach (DataRow nDR in nDS_ERP.Tables[0].Rows)
{
nDS_Test.Tables[0].Rows.Add(nDR.ItemArray);
}
if (nDS_Test.Tables[0].Rows.Count > 0)
{
nDA_Test.InsertCommand = new SqlCommand("insert into " + "SA_BillVouchs" + " select *from " + nDS_Test.Tables[0].TableName, nConn_Test);
nDA_Test.InsertCommand.ExecuteNonQuery();
SqlCommandBuilder nCommandBuilder = new SqlCommandBuilder(nDA_Test);
int nCount = nDA_Test.Update(nDS_Test, "SA_BillVouchs");
if (nCount > 0)
{
MessageBox.Show("更新成功");
}
}
}
catch (Exception ex)
{
MessageBox.Show("出现异常:" + ex.Message);
}
finally
{
nConn_ERP.Close();
nConn_Test.Close();
}
}
else
{
MessageBox.Show("没有更新");
}
}
public static void nExec()
{
clExec.Update_Table(clCmdERP.BillVouchs(), clCmdTest.BillVouchs(), "SA_BillVouchs");
}
}
}
从源数据库中按条件搜索数据,填充到dataset中,再循环添加到目的数据库的dataset中,然后用dataadapter的update方法更新,但是写commandinsert语句的时候遇到select *from 数据集的情况,一直出现错误insert into SA_BillVouchs select *from Table --数据集在SQl查询中成了Table试了很多方法了都没有办法完成
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Windows.Forms;
using System.Data;namespace test
{
class clExec
{
static void Update_Table(string nCmd_E, string nCmd_T, string nTable)
{
SqlConnection nConn_Test = new SqlConnection();
nConn_Test = clConnection.fConnection("SQLTest");
nConn_Test.Open();
SqlCommand nCmd_Test = new SqlCommand(nCmd_T, nConn_Test);
SqlDataAdapter nDA_Test = new SqlDataAdapter(nCmd_Test);
DataSet nDS_Test = new DataSet();
nDA_Test.Fill(nDS_Test);
SqlConnection nConn_ERP = new SqlConnection();
nConn_ERP = clConnection.fConnection("ERP3");
nConn_ERP.Open();
SqlCommand nCmd_ERP = new SqlCommand(nCmd_E,nConn_ERP);
SqlDataAdapter nDA_ERP = new SqlDataAdapter(nCmd_ERP);
DataSet nDS_ERP = new DataSet();
nDA_ERP.Fill(nDS_ERP);
if (nDS_ERP.Tables[0].Rows.Count > 0)
{
try
{
foreach (DataRow nDR in nDS_ERP.Tables[0].Rows)
{
nDS_Test.Tables[0].Rows.Add(nDR.ItemArray);
}
if (nDS_Test.Tables[0].Rows.Count > 0)
{
nDA_Test.InsertCommand = new SqlCommand("insert into " + "SA_BillVouchs" + " select *from " + nDS_Test.Tables[0].TableName, nConn_Test);
nDA_Test.InsertCommand.ExecuteNonQuery();
SqlCommandBuilder nCommandBuilder = new SqlCommandBuilder(nDA_Test);
int nCount = nDA_Test.Update(nDS_Test, "SA_BillVouchs");
if (nCount > 0)
{
MessageBox.Show("更新成功");
}
}
}
catch (Exception ex)
{
MessageBox.Show("出现异常:" + ex.Message);
}
finally
{
nConn_ERP.Close();
nConn_Test.Close();
}
}
else
{
MessageBox.Show("没有更新");
}
}
public static void nExec()
{
clExec.Update_Table(clCmdERP.BillVouchs(), clCmdTest.BillVouchs(), "SA_BillVouchs");
}
}
}
从源数据库中按条件搜索数据,填充到dataset中,再循环添加到目的数据库的dataset中,然后用dataadapter的update方法更新,但是写commandinsert语句的时候遇到select *from 数据集的情况,一直出现错误insert into SA_BillVouchs select *from Table --数据集在SQl查询中成了Table试了很多方法了都没有办法完成
加【】也会发生错误,nDS_Test.Tables[0].TableName是数据集里头的表名
在查询分析器执行就可看到效果
跟踪一下