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



datagridview的更新问题,急!急!急!


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


datagridview的更新问题,急!急!急![已结贴,结贴人:ydsunny]
发表于:2007-03-07 12:06:06 楼主
我的页面上只有一个datagridview和一个button,想通过oledbdataadapter.update更新access表里的值,不知我的代码错在那里,一直不能更新效果,请高手帮忙!
我的代码:
imports   system.data
imports   system.data.oledb
imports   system.data.odbc
public   class   form1
       
        dim   objconn   as   new   oledbconnection
        dim   objadap   as   oledbdataadapter
        dim   objds   as   new   dataset
        private   sub   form1_load(byval   sender   as   system.object,   byval   e   as   system.eventargs)   handles   mybase.load

                dim   db   as   new   db
                objconn   =   db.createcon()   '这里创建一个连接

                dim   strsql   =   "select   *   from   test "
                objadap   =   new   oledbdataadapter(strsql,   objconn)

                dim   builder   as   oledbcommandbuilder
                builder   =   new   oledbcommandbuilder(objadap)

                objadap.fill(objds,   "tt ")
                datagridview1.datasource   =   objds.tables( "tt ")
                objconn.close()

        end   sub

        private   sub   button1_click(byval   sender   as   system.object,   byval   e   as   system.eventargs)   handles   button1.click
                '点击按钮更新
                objadap.update(objds,   "tt ")
                objds.acceptchanges()
                objconn.close()
                messagebox.show( "update   ok ")
        end   sub
end   class

发表于:2007-03-07 12:27:181楼 得分:50
您的更新所用的sql语句写了么就是以 "insert   … "、 "update   … "和 "delete   … "开头的那些,新建commandstring为这些的sqldbcommand,然后分别加到objadap的insertcommand、updatecommand和deletecommand中,这样你的更新才会被添加到数据库中,要不然都是在dataset中完成的,不能影响数据库。
如果lz能贴多一点代码,尤其是记录的字段,我可以写一些代码给lz参考参考。
发表于:2007-03-07 12:42:452楼 得分:0
谢谢magicbacon!
除了连接数据库之外,我已经把所有的代码都帖出来了!

我看msdn里介绍,通过oledbcommandbuilder(objadap)可使得oledbdataadapter生成相应的updatecommand和inertcommand?!

呵呵,之前都是做c#+b/s开发,现在用vb.net做c/s还没上手,弄了一个早上都搞不出来,苦啊!

发表于:2007-03-07 12:44:513楼 得分:0
我的test表里只有3个字段:id,name,des....

希望得到各位高手的帮忙!
谢谢!
发表于:2007-03-07 12:50:524楼 得分:0
好的,==,我写写.
发表于:2007-03-07 13:08:585楼 得分:0
帮不上了,晚上有空再帮你看吧.
发表于:2007-03-07 13:31:256楼 得分:0
高手呢?????
发表于:2007-03-07 14:38:087楼 得分:0
晕,我说错了.lz这样做试试:在

'点击按钮更新

这一句下面增加一句

dim   b   as   oledbcommandbuilder   =   new   oledbcommandbuilder(objadap)

然后再update,就行了.可能是你把

dim   builder   as   oledbcommandbuilder
builder   =   new   oledbcommandbuilder(objadap)

这两句放错位置了.
发表于:2007-03-07 14:48:028楼 得分:0
呵呵,搞了半天,才发现,放在bin\debug的数据库已经起作用,而我一直看到工程下的数据库没改变...

这是我2007闹的第1大笑话!

晕死了!!!!
发表于:2007-03-07 14:53:269楼 得分:0
那为什么又塞给我这50分?晕,我没帮上忙的.


快速检索

最新资讯
热门点击