C#将查询到的数据插入到别一个数据库中,新查询到的数据在一个DataTable实例中

2024-10-31 02:24:41
推荐回答(2个)
回答(1):

你有数据要插入到另一个数据库中,起码知道保存数据的表结构吧?

不然怎么保存?


你可以获取源数据库表信息显示在页面上

然后根据选中的项的id来确定你想要的信息

比如获取了信息的id列

DataTable dt = new DataTable();
//dt是源数据表
                DataRow[] drs = dt.Select("id in (2,3,5)");
                foreach (DataRow dr in drs)
                {
                    string id = dr["id"].ToString();
                    string name = dr["name"].ToString();
                    //-----
                    
                    //执行插入操作
                }

回答(2):

倒是可以i执行SqlDataAdapter.Update()方法更新已经改变的DateTable数据行执行Update和Insert和DELETE语句但是有前提是要求数据库连接会话不能改变,你要是2个数据库就只能需要修改行重新添到DataTable里重新查找再修改
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
OleDbDataAdapter adapter = new OleDbDataAdapter();
adapter.SelectCommand = new OleDbCommand(queryString, connection);
OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter);

connection.Open();

DataTable customers = new DataTable();
adapter.Fill(customers);

// 修改DataTable的内容

adapter.Update(customers);

return customers;
}
还有很多别的方法可以直接修改http://msdn.microsoft.com/zh-cn/library/vstudio/system.data.sqlclient.sqldataadapter.aspx
比如InsertCommmand()UpdateCommand()具体要看需求。直接用你的GrdData只能更新当前的数据库记录~更新别的数据库需要打开新链接