在 C# 中使用另一个数据库的数据填充数据库
本文关键字:数据库 数据 填充 另一个 | 更新日期: 2023-09-27 18:32:11
我正在研究Winform C#和phpmyAdmin(数据库)。 我有 2 个不同的数据库(DB1 和 DB2)。
我想在 DB1 中获取表1的一列的数据,并且将这些信息存储在 DB2 的表 2 中这样,如果 DB1 列中有任何修改,则应自动更新 DB2。
这是我使用的逻辑,但它不起作用:
using MySql.Data.MySqlClient;
namespace GNMS
{
public partial class doublecoonection : Form
{
DataSet ds;
MySqlDataAdapter da1;
MySqlDataAdapter da2;
MySqlConnection connec1; //for 1st database
MySqlConnection connec2;//for the 2nd one
public doublecoonection()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string str_conn = "server=localhost;username=root;password=****;port=3306";
string query1 = "select id,city from enugro.city;"; //query1 for 1st DB
connec1 = new MySqlConnection(str_conn);
try
{
connec1.Open();
da1 = new MySqlDataAdapter(query1, connec1);// this is how i stored results of first data in object da
connec1.Close();
connec2 = new MySqlConnection(str_conn); // open second connection
connec2.Open();
string query2 = "insert into enugro_africa.reports(id,city) value(da1);";
da2 = new MySqlDataAdapter(query2, connec2);//query for 2nd DB
ds = new DataSet();//store in the temporarily
da2.Fill(ds); //fill the dataset "ds"
dataGridView1.DataSource = ds;//display the result in a datagridview
}
catch(Exception ex){
MessageBox.Show(ex.Message);
}
}
}
}
请你能帮我吗?
您正在使用断开连接 ADO.Net 体系结构...这意味着您不必打开和关闭连接...数据适配器将为您完成。删除该代码,然后重试
此外,您的查询 2 似乎不正确。您必须调用第一个数据适配器的填充,它将填充您的数据集,然后循环访问您的数据集并调用第二个查询传递您要传递的值。
或者,您可以将整个数据作为 XMl 传递给可以执行批量插入的存储过程