C# 使用c语言中另一个数据库的数据填充数据库#

C# 使用c语言中另一个数据库的数据填充数据库#,c#,mysql,C#,Mysql,我正在研究WinFormC#和phpmyadmin(数据库)。我有两个不同的数据库(db1和db2) 我想获取db1中table1的一列的数据,然后 将这些信息存储在db2的表2中 这样,如果db1列中有任何修改,db2应该自动更新 这是我使用的逻辑,但它不起作用: using MySql.Data.MySqlClient; namespace GNMS { public partial class doublecoonection : Form { DataSe

我正在研究WinFormC#和phpmyadmin(数据库)。我有两个不同的数据库(db1和db2)

我想获取db1中table1的一列的数据,然后 将这些信息存储在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似乎不正确。 您必须调用第一个数据适配器的fill,它将填充您的数据集,然后遍历您的数据集,并调用第二个query pass传递您想要传递的值

或者,您可以将整个数据作为XMl传递给存储过程,该存储过程可以执行大容量插入,您听说过吗?如果没有,请在提出已经回答的问题之前做一些研究。