C#将查询到的数据插入到别一个数据库中,新查询到的数据在一个DataTable实例中
publicstaticDataTableGrdData=newDataTable();....SqlDataAdapterda=newSqlDataAdapter(sq...
public static DataTable GrdData = new DataTable();
....
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
da.Fill(GrdData);
GrdData中的数据可以直接插入到别一个SQL Server数据库中?别一个数据库结构未知 展开
....
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
da.Fill(GrdData);
GrdData中的数据可以直接插入到别一个SQL Server数据库中?别一个数据库结构未知 展开
2个回答
展开全部
你有数据要插入到另一个数据库中,起码知道保存数据的表结构吧?
不然怎么保存?
你可以获取源数据库表信息显示在页面上
然后根据选中的项的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();
//-----
//执行插入操作
}
展开全部
倒是可以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只能更新当前的数据库记录~更新别的数据库需要打开新链接
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只能更新当前的数据库记录~更新别的数据库需要打开新链接
更多追问追答
追问
在不同域的不同数据库里...你这个...看不懂,也不应该不行吧,感觉像改查出的数据再更新回去的意思
追答
你一个数据连接只能更新一个数据库里的数据~你要插入或者更新另外一数据库直接连上执行InsertCommmand.Parameters.Add(new SqlParameter("@列名", SqlDbType.VarChar,20));
修改好插入的列参数 最后执行Update(GrdData);注意从一个数据库里查询出的GrdData插入到另外一个数据库的时候可能引发InvalidOperationException,这时候你需要修改DataTable里的表名和列名属性。建议不要直接那插入。直接遍历DataTable插入就可以了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询