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



一个数据连接更新的问题


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


一个数据连接更新的问题[已结贴,结贴人:justdoit612]
发表于:2007-03-28 19:26:13 楼主
一个   form启动了   连接到了数据库   读了数据放到   dataset里面   关闭连接   数据200条     后来我去打开sql2005   又加了10条数据到那个表中   后来在没有关闭form的情况在连接数据库读的数据还是200条   请问为什么不是210条?
发表于:2007-03-28 19:29:141楼 得分:0
dataset   是离线的数据
当然不会改变

你需要在数据库更新后   重新读取数据
发表于:2007-03-28 19:37:322楼 得分:0
是从新连接的
发表于:2007-03-28 19:38:143楼 得分:0
using   system;
using   system.collections.generic;
using   system.componentmodel;
using   system.data;
using   system.data.sqlclient;
using   system.drawing;
using   system.text;
using   system.windows.forms;
using   system.configuration;
using   microsoft.reporting.winforms;
using   system.management;

namespace   windowsapplication2
{
        public   partial   class   form1   :   form
        {
                public   form1()
                {
                        initializecomponent();
                }

                private   void   form1_load(object   sender,   eventargs   e)
                {
                        //   todo:   这行代码将数据加载到表“database1dataset1.message”中。您可以根据需要移动或移除它。
                        this.messagetableadapter.fill(this.database1dataset1.message);
                        reportdatasource   myrd   =   new   reportdatasource( "database1dataset1_message ",   loadmessagedata());
                        this.reportviewer1.localreport.datasources.add(myrd);
                        this.reportviewer1.refreshreport();
                }
                public   datatable   loadmessagedata()
                {
                                string   strcon   =   configurationmanager.connectionstrings[ "windowsapplication2.properties.settings.database1connectionstring "].tostring();
                                sqlconnection   sqlcon   =   new   sqlconnection(strcon);
                                dataset   myds   =   new   dataset();
                                sqlcon.open();
                                string   strcom   =   "select   *   from   message ";
                                sqldataadapter   myadapter   =   new   sqldataadapter(strcom,   sqlcon);
                                myadapter.fill(myds,   "message ");
                                return   myds.tables[0];
                }

                private   void   button1_click(object   sender,   eventargs   e)
                {
                        this.reportviewer1.localreport.datasources.removeat(0);
                        database1dataset1.message.clear();
                        reportdatasource   myrd   =   new   reportdatasource( "database1dataset1_message ",   loadmessagedata());
                        this.reportviewer1.localreport.datasources.add(myrd);
                        this.reportviewer1.refreshreport();
                }
        }
}
发表于:2007-03-28 19:54:234楼 得分:0
谢谢帮助一下   大家看看为什么
发表于:2007-03-28 20:15:075楼 得分:0
晕。楼主,dataset是内存中的数据,断开的啊。得更新数据集。
发表于:2007-03-28 20:16:116楼 得分:0
this.reportviewer1.localreport.datasources.removeat(0);
                        database1dataset1.message.clear();
                        reportdatasource   myrd   =   new   reportdatasource( "database1dataset1_message ",   loadmessagedata());
                        this.reportviewer1.localreport.datasources.add(myrd);
                        this.reportviewer1.refreshreport();

已经请空了
发表于:2007-03-28 20:32:067楼 得分:0
我觉的你只要把c#里数据更新下就可以了,要不你重新设下数据集
发表于:2007-03-28 20:36:148楼 得分:0
代码给点提示   谢谢你
发表于:2007-03-28 21:14:349楼 得分:0
问题自己解决了   关键在   messagetableadapter
发表于:2007-03-28 21:16:3410楼 得分:50
private   void   reportviewer1_reportrefresh(object   sender,   eventargs   e)
                {
                        this.messagetableadapter.dispose();
                        this.messagetableadapter.fill(this.testrvdataset.message);
                        reportdatasource   myrd   =   new   reportdatasource( "testrvdataset_message ",   loadmessagedata());
                        this.reportviewer1.localreport.datasources.add(myrd);
                        this.reportviewer1.refreshreport();
                }


快速检索

最新资讯
热门点击