大家好!
   我语言是delphi 数据库是sql。在线程中对数据库的数据进行了添加、更改、删除等功能,线程运行正常,但是我又加了对数据表里的数据打印的功能,线程运行到打印时就出现错误提示:存储空间不足,无法处理此命令。不知道该怎么处理??请大家帮忙处理啊。
我在论坛上搜了搜有的人说原因是:1、数据量太大,处理时间过长,引起资源不足。   
                                2、数据库连接太多了,资源没有释放.
我还是不知道怎么处理,请大家帮忙,如果是上面说的原因 我该怎么处理呢??对大家的帮忙不胜感激!!

解决方案 »

  1.   

    我的电脑是2G的内存,估计主要原因是数据库的连接太多,没释放ado的事,可是我不会释放ado,请大家帮忙,请问adoconnection adoquery 需要动态创建 和 释放吗?该如何写代码。请大家帮忙,最好贴点简单的例子,十分感谢!!
      

  2.   

    delphi的不会
    贴点C#的:
    private void btnDel_Click(object sender, EventArgs e)
            {
                if (ds.Tables["approve"].Rows.Count == 0)
                    return;            DialogResult dr;
                  
                dr = MessageBox.Show("真的要删除此信息吗?", "系统提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                if (dr == DialogResult.OK)
                {
                    string sql = "delete from approve where 证件编号 = '" + ds.Tables["approve"].Rows[i][4].ToString() + "' ";
                    try
                    {
                        conn.Open();//这里是打开连接
                        cmd = new SqlCommand(sql, conn);
                        cmd.ExecuteNonQuery();
                        //调用窗体加载事件的方法,重新获取数据
                        frmAddInfo_Load(sender, e);
                    }
                    catch (SqlException ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    finally
                    {
                        conn.Close();//这里关闭连接
                    }
                }
            }
      

  3.   

    请问楼上的这位朋友,你的连接conn是动态创建的还是直接托的控件啊?