VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1093|回复: 10

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

[复制链接]

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-1-26 16:40:01 | 显示全部楼层 |阅读模式
我想把DataSet wd = new DataSet();
                sda.Fill(ds, "yfls");
的数据插入到另一个表,但是ID列不要,在被插入表的ID是自动生成的。
高手大人帮帮忙。
回复

使用道具 举报

2

主题

6

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-2-18 14:15:01 | 显示全部楼层
this.dataGridView1.Columns.Remove("ID");         //移除DATAGRIDVIEW中的ID列
回复

使用道具 举报

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-2-19 16:45:01 | 显示全部楼层
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表。我只能要他的后三列

回复

使用道具 举报

0

主题

110

帖子

63.00

积分

新手上路

Rank: 1

积分
63.00
发表于 2020-3-1 11:30:01 | 显示全部楼层
你这种情况,如果不嫌麻烦,做个循环,一条条插入吧..
回复

使用道具 举报

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-3-13 13:00:01 | 显示全部楼层
一次只插入一条数据,关键语句不会写啊,初学者!!!!高手大人帮帮忙,
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-3-16 13:30:01 | 显示全部楼层
用PB不就可以了?????
回复

使用道具 举报

0

主题

31

帖子

17.00

积分

新手上路

Rank: 1

积分
17.00
发表于 2020-3-16 20:30:01 | 显示全部楼层

foreach(datarow oldrow in sourceDataSet.Tables[0].Rows)
{
DataRow newRow = targetDataSet.Tables[0].newRow();
newRow["columnname"] = oldrow["columnname"];
.....
targetDataSet.Tables[0].Rows.add(newRow);
}
回复

使用道具 举报

0

主题

31

帖子

17.00

积分

新手上路

Rank: 1

积分
17.00
发表于 2020-3-16 21:15:02 | 显示全部楼层
其实可能一句SQL语句就解决了,不知道楼主的具体需求
回复

使用道具 举报

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-3-17 07:30:01 | 显示全部楼层
我的问题具体在3楼呢
回复

使用道具 举报

0

主题

110

帖子

63.00

积分

新手上路

Rank: 1

积分
63.00
发表于 2020-3-19 10:45:01 | 显示全部楼层
我没太明白楼主的意思,如果是一条条插入,还有什么问题吗?

在数据库中建表的时候,表中有自增列吗?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');
...

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


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


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表