各位大哥,C# 更新数据库问题

欧文 2007-01-04 09:23:08
我想把DataSet wd = new DataSet();
sda.Fill(ds, "yfls");
的数据插入到另一个表,但是ID列不要,在被插入表的ID是自动生成的。
高手大人帮帮忙。
...全文
325 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
liujia_0421 2007-01-04
  • 打赏
  • 举报
回复
你这种情况,如果不嫌麻烦,做个循环,一条条插入吧..
欧文 2007-01-04
  • 打赏
  • 举报
回复
private void yflsDataBind()
{
//conndata();
//SqlConnection con = new SqlConnection("server=192.168.23.212;database=databank;uid=sa;pwd=123456");
try
{
con.Open();
SqlDataAdapter yfwd = new SqlDataAdapter("select yfdb.wendu as dbwd,yfzb.wendu as zbwd from yfdb,yfzb where yfdb.ID=yfzb.ID", con);
DataSet wd = new DataSet();
yfwd.Fill(wd, "yfwd");
//绑定数据到DataGridView
//需要接收窗口创建。。。

MyInvoke wdInvoke = new MyInvoke(yfwdBindDataGridView);

this.BeginInvoke(wdInvoke, new object[] { wd });
}
我从数据库中取出数据,然后再放到另一数据库,我想要yfwd里面的数据,ds.Tables
["yfls"].Rows[0]["ID"]
["yfls"].Rows[0]["lasu"]
["yfls"].Rows[0]["wendu"]
["yfls"].Rows[0]["DateTime"]
放到另一个表中,标的基本结构是一样的,但是,ID列要自动生成的,而不是存储到数据库,
//SqlConnection con = new SqlConnection("server=192.168.35.115;database=LZdata;uid=sa;pwd=123456");
//数据库属不同的但是表是相同的,怎么写接下来--------------------------------------,
我应该怎么把yfls的lasu,wendu,DateTime存到LZdata的yf表,存作历史数据呢,yfls的ID是不变的(他是更新一行的操作),所以不能直接插入到yf表。我只能要他的后三列

枯海 2007-01-04
  • 打赏
  • 举报
回复
this.dataGridView1.Columns.Remove("ID"); //移除DATAGRIDVIEW中的ID列
liujia_0421 2007-01-04
  • 打赏
  • 举报
回复
我没太明白楼主的意思,如果是一条条插入,还有什么问题吗?

在数据库中建表的时候,表中有自增列吗?sqlserver中用identity,oracle中可以用sequence

比如sqlserver中如果有一个表student,两个字段sid,sname,假如sid为自增..

create table student(sid int identity(1,1),sname varchar(20));

插入:

insert into student(sname) values('aaa');
insert into student(sname) values('bbb');
...

在程序中也一样,你只要得到除自增列外的其他列,然后插入就行了..


不知道是不是我误解了楼主的意思?


欧文 2007-01-04
  • 打赏
  • 举报
回复
我的问题具体在3楼呢
honkerhero 2007-01-04
  • 打赏
  • 举报
回复
其实可能一句SQL语句就解决了,不知道楼主的具体需求
honkerhero 2007-01-04
  • 打赏
  • 举报
回复

foreach(datarow oldrow in sourceDataSet.Tables[0].Rows)
{
DataRow newRow = targetDataSet.Tables[0].newRow();
newRow["columnname"] = oldrow["columnname"];
.....
targetDataSet.Tables[0].Rows.add(newRow);
}
huanhuanz 2007-01-04
  • 打赏
  • 举报
回复
用PB不就可以了?????
欧文 2007-01-04
  • 打赏
  • 举报
回复
一次只插入一条数据,关键语句不会写啊,初学者!!!!高手大人帮帮忙,

110,566

社区成员

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

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

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