我编写了一个入库程序,代码是按照在界面的文本框中累加写入的记录条数(即,入一条加1),但是,程序不能实时显示当前的入库数目。在程序运行完后才会显示(即,总数),请教各位怎样解决。
谢谢了!

解决方案 »

  1.   

    你是一条一条入库的吗?如果是批量insert,那没有办法显示的。
      

  2.   

    可以啊,添加或者删除完毕,就select count(*) from table一次,把返回结果绑定到lable显示一下啊
      

  3.   

    ---------
     int i;
     
    以下为循环:
     插入语句;
     i++;
     textbox.text=i.tostring();
     
      

  4.   

     textbox.text=i.tostring(); 后强制重绘下界面
      

  5.   

    textbox.text=i.tostring(); 后强制重绘下界面
    怎样强制重绘下界面??
      

  6.   

    你把textbox.text=i.tostring();放在按钮事件下!!
      

  7.   

    直接使用BindingSource这个东西作为数据源绑定就可以了,这个绑定控件本身就是一个自反馈的控件,你对数据的修改可以实时反馈到数据源本身
      

  8.   

    引用别人的:textbox.text=i.tostring(); 后强制重绘下界面这个应该是可以行得通的.
    你把textbox.text=i.tostring();放在按钮事件下!!
      

  9.   

            还有一个方法就是,当你添加、删除、更新之后,再对Table的低成的数据MOdel进行操作,这样的问题应该很好解决。
    不过我做的时候,是把Model的数据全部清除,再从新到数据库取一次数据~~~~~~~~~
      

  10.   

    BindingSource可以直接实现啦,仔细看看BindingSource,这个才是ADO.Net2.0的精华部分ls大多数的建议基本都是传统ado和ado.net1.1的操作手法
      

  11.   

    使用框架操作,一个框架一条一条的入库,入库一条Response.Flush()一次,别一框架负责使用javascript来控制显示了......
      

  12.   

    第一次显示时查库得取条数,显示在一个lable上,之后没插入一条就加一,没必要在查库
      

  13.   

     int total=0;
                    while(......)
                    {
                    插入一条数据;
                    
                    total++;
                    this.label1.Text = "已插入了" + total.ToString() + " 条数据.";
                    Application.DoEvents();  
                    }
      

  14.   

    定义一全局变量,
    每成功插入一条数据该变量自加1,然后对显示记录总条数的空间refresh一下~
      

  15.   

    可以啊,添加或者删除完毕,就select count(*) from table一次,把返回结果绑定到lable显示一下啊通过一个Timer或者线程或者BackGroundWorker来每隔一段时间查询数据库就行了。
      

  16.   

    我也遇到过这样的问题
    插入后加一句Application.DoEvents();
      

  17.   

     首先再打开界面时候 先取数据库取一下总数量 保存到一个tmp 如果此时增加了 就在tmp基础上累加即可 前提是你的饿程序是单机版 如果要是联网的话 插入执行首先检索当前的数量 也是放入一个临时变量 成功后 在tmp2的基础上累加