您的位置:程序门 -> .net技术 -> c#



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


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


各位大哥,c# 更新数据库问题[已结贴,结贴人:succeeddyf]
发表于:2007-01-04 09:23:08 楼主
我想把dataset   wd   =   new   dataset();
                                sda.fill(ds,   "yfls ");
的数据插入到另一个表,但是id列不要,在被插入表的id是自动生成的。
高手大人帮帮忙。
发表于:2007-01-04 09:36:091楼 得分:0
this.datagridview1.columns.remove( "id ");                   //移除datagridview中的id列
发表于:2007-01-04 09:46:562楼 得分:0
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 10:46:473楼 得分:0
你这种情况,如果不嫌麻烦,做个循环,一条条插入吧..
发表于:2007-01-04 13:00:274楼 得分:0
一次只插入一条数据,关键语句不会写啊,初学者!!!!高手大人帮帮忙,
发表于:2007-01-04 13:23:185楼 得分:0
用pb不就可以了?????
发表于:2007-01-04 13:26:146楼 得分:0

foreach(datarow   oldrow   in   sourcedataset.tables[0].rows)
{
datarow   newrow   =   targetdataset.tables[0].newrow();
newrow[ "columnname "]   =   oldrow[ "columnname "];
.....
targetdataset.tables[0].rows.add(newrow);
}
发表于:2007-01-04 13:26:477楼 得分:0
其实可能一句sql语句就解决了,不知道楼主的具体需求
发表于:2007-01-04 13:29:008楼 得分:0
我的问题具体在3楼呢
发表于:2007-01-04 13:51:119楼 得分:20
我没太明白楼主的意思,如果是一条条插入,还有什么问题吗?

在数据库中建表的时候,表中有自增列吗?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 14:14:4910楼 得分:0
楼上的都是正解


快速检索

最新资讯
热门点击