想把一個SQL的查詢結果寫到新的目標數據里。代碼如下:
其中command.text 就是 Select * from Region;
然后目標數據庫里,表結構與源表一樣,只有一行記錄,然后設置了主鍵自動增加。
但是現在的代碼不能把源數據寫進去。
求教如何改正?
?
private?void?btnSave_Click(object?sender,?EventArgs?e)
{
?
string?serverName = textBoxTargetServer.Text;
?
var?dbName = comboBoxTargetDatabase.SelectedItem?as?string;
?
string?conStr=?"Data Source= "?+ serverName +?";Initial Catalog="?+ dbName +?";Integrated Security=True";
?
SqlCommand?cmd =?new?SqlCommand();
?
using?(SqlConnection?conn =?new?SqlConnection(conStr))
{
cmd.Connection = conn;
cmd.CommandType =?CommandType.Text;
cmd.CommandText = textBox1.Text;
cmd.Connection.Open();
SqlDataAdapter?sda =?new?SqlDataAdapter(textBox1.Text, conn);
SqlCommandBuilder?cb =?new?SqlCommandBuilder(sda);
sda.InsertCommand = cb.GetInsertCommand();
sda.DeleteCommand = cb.GetDeleteCommand();
sda.UpdateCommand = cb.GetUpdateCommand();
targetDataSet =?new?DataSet();
sda.Fill(targetDataSet);
?
DataTable?dtTarget = targetDataSet.Tables[0];
?
DataTable?dtSource = sourceDataSet.Tables[0];
?
for?(int?i = 0; i < sourceDataSet.Tables[0].Rows.Count; i++)
{
?
DataRow?sourceRow = sourceDataSet.Tables[0].Rows[i];
dtTarget.ImportRow(sourceRow);
}
sda.Update(targetDataSet);
}
cmd.Parameters.Clear();
cmd.Connection.Close();
源數據庫到目標數據庫的插入和更新
慕妹3242003
2018-12-07 12:09:48