关于dataset传输数据问题 在一个数据库中用dataset进行数据操作,基本上了解了,但是现在有个新问题,从远程数据库用dataset保存下来数据想要保存到本地数据库,应该如何实现,请各位指点 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 将dataset转换成xml(DataSet的WriteXml()),然后传输,再转成dataset 将dataset转换成xml(DataSet的WriteXml()),然后传输,再转成dataset如果要写成其他文件形式(txt,excel等)也是可以的 呵呵,我说的可能不太明白,我这里已经把远程的数据获取到本地,并且保存到dataset中了,然后这个保存过的dataset怎么保存到本地的数据库中 将dataset里的数据取出来放到数据库里啊 一条一条来吧 直接写个方法接收远程dataset的数据,将dateset作为参数传递,遍历他 批量插入到数据中不就ok了吗public bool Inserts(DataTable dt) { try { conn.Open(); string sql = "insert into " + dt.TableName + "("; string sql2 = ")values("; SqlDataAdapter da = new SqlDataAdapter(); da.InsertCommand = new SqlCommand(sql, conn); foreach (DataColumn dc in dt.Columns) { sql += dc.ColumnName + ","; sql2 += "@" + dc.ColumnName + ","; SqlParameter sp = new SqlParameter("@" + dc.ColumnName, dc.DataType); sp.SourceColumn = dc.ColumnName; da.InsertCommand.Parameters.Add(sp); } sql = sql.Substring(0, sql.Length - 1) + sql2.Substring(0, sql2.Length - 1) + ")"; da.InsertCommand.CommandText = sql; return Convert.ToBoolean(da.Update(dt)); } 最简单的方法就是遍历DATASET 然后一条一条写进数据库里,用个FOR循环搞定了。如果数据很多,感觉效率低,就先写到一个文件里,然后批量压入数据库 我看到又很多的贴子说可以将dataset直接保存进数据库,用adapter的update方法,但是试了几次都没有把数据插进新表,原始数据表和新表的结构一样,提出数据的dataset中也存在数据,就是插入那里有问题,有真正解决过的办法吗 关于键盘事件 C#中如何实现横向和纵向排版打印 C# 批量更新数据库 联合主键更新问题!!!!!!!!!!!!! 初级者 调用存储过程 怎样随机获得一个未被占用的端口?在remoting中注册信道用 快大四了,各位大仙来解惑啊! kuai 如何自编宿主加载CLR,然后加载.net的exe程序? remoting 程序跨网段后客户端无法获取服务端消息的问题求助。(在线等) 再次请教弱问题之三! 获取真实IP 异步socket发送大文本疑问
也是可以的
public bool Inserts(DataTable dt)
{
try
{
conn.Open();
string sql = "insert into " + dt.TableName + "(";
string sql2 = ")values("; SqlDataAdapter da = new SqlDataAdapter();
da.InsertCommand = new SqlCommand(sql, conn); foreach (DataColumn dc in dt.Columns)
{
sql += dc.ColumnName + ",";
sql2 += "@" + dc.ColumnName + ",";
SqlParameter sp = new SqlParameter("@" + dc.ColumnName, dc.DataType);
sp.SourceColumn = dc.ColumnName;
da.InsertCommand.Parameters.Add(sp);
} sql = sql.Substring(0, sql.Length - 1) + sql2.Substring(0, sql2.Length - 1) + ")"; da.InsertCommand.CommandText = sql; return Convert.ToBoolean(da.Update(dt));
}