如何把table里面所有数据加入sql2000的一个表中呢?

aivinok 2004-04-14 03:18:34
如何把table里面所有数据加入sql2000的一个表中呢?
DataTable如下:
ID Name sex
1002 lucy female
1003 lili male
...............................
...............................

sql2000里有物理数据表 "person",
如何把table的记录存入person
...全文
72 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
aivinok 2004-04-14
  • 打赏
  • 举报
回复
应该如何改动?: yuejie6666() ( )
yuejie6666 2004-04-14
  • 打赏
  • 举报
回复
你在SqlDataAdapter对象里只声明了selectCommand对象,却没有声明InsertCommand对象。因此你的SqlDataAdapter 对象是不能对数据库里的源表进行插入操作的。
因此你的
da.Update(ds)
会产生异常。
aivinok 2004-04-14
  • 打赏
  • 举报
回复
try
{
DataSet ds=new DataSet();
//ds.Tables.Add(this.tb);
System.Data.SqlClient.SqlDataAdapter da=new SqlDataAdapter("select * from 销售明细表 where 销售单编码='1'",Form1.f1.sqlconn);
da.Fill(ds,"销售明细表");
foreach(DataRow dr in tb.Rows)
{
ds.Tables["销售明细表"].Rows.Add(dr);
}
da.Update(ds);
}
catch(Exception n)
{
MessageBox.Show(n.ToString(),"操作异常",MessageBoxButtons.OK,MessageBoxIcon.Warning);
}


上面这代码有什么问题?我想把tb这个逻辑表所有行加入到"销售明细表".

出错提示为:该行已属另一个表
songbird 2004-04-14
  • 打赏
  • 举报
回复
同一楼上的,我的是个土方法了,赫赫.
liduke 2004-04-14
  • 打赏
  • 举报
回复
如果结构一样的话可以dataset.merge
再update
songbird 2004-04-14
  • 打赏
  • 举报
回复
这个是通过的代码,dt是你的DataTable,ds是DataSet,da是SqlDataAdapter

foreach(DataRow drr in dt.Rows)
{
DataRow dr1 = ds.Tables[0].NewRow();
for (int i=0;i<dt.Columns.Count;i++)
{
dr1[i] = drr[i];
}
ds.Tables[0].Rows.Add(dr1);
}

da.Update(ds);
songbird 2004-04-14
  • 打赏
  • 举报
回复
你可以采用以下方法:
1、new DataSet
2、把person数据库表全部或者部分加入DataSet
3、DataSet.Table[0].Rows.Add(DataTable.Rows) //示意性代码
把DataTable的每一行加入DataSet
4、SqlDataAdapter.Update(DataSet)
aivinok 2004-04-14
  • 打赏
  • 举报
回复
循环插入
这意思是:取出每一行的数据,建insert_sql ,用Command来插入,这可是很笨重的方法.
有没有大批数据一伙插入的方法?
人人哥 2004-04-14
  • 打赏
  • 举报
回复
循环插入

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧