在 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);
        }
    }
}

}

请你能帮我吗?

在 C# 中使用另一个数据库的数据填充数据库

您正在使用断开连接 ADO.Net 体系结构...这意味着您不必打开和关闭连接...数据适配器将为您完成。删除该代码,然后重试

此外,您的查询 2 似乎不正确。您必须调用第一个数据适配器的填充,它将填充您的数据集,然后循环访问您的数据集并调用第二个查询传递您要传递的值。

或者,您可以将整个数据作为 XMl 传递给可以执行批量插入的存储过程