试图构建一个过程来创建一个变量,但它被困在了内部

本文关键字:一个 内部 构建 过程 变量 创建 | 更新日期: 2023-09-27 18:30:13

我需要计算Access数据库的某个表中的行数,但我使用的当前代码将该变量锁定在括号内,而它不存在于括号外,这使得通过过程调用count变量变得有点困难。嗯,它不起作用。删除括号只会破坏语法,它会给我不存在的内部变量的错误(这就是为什么它会这么说,我不知道。它们确实存在,它们已经创建好了,并且它们可以很好地使用括号。)

这是我一直在使用的代码,我只是在括号内做我需要做的事情:

OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=access.mdb";
conn.Open();
OleDbCommand cmmd = new OleDbCommand("SELECT * FROM probe", conn);
using (OleDbDataReader myReader = cmmd.ExecuteReader())
{
    DataTable dt = new DataTable();
    dt.Load(myReader);
    int count = dt.Rows.Count;
    lblCount.Text = count.ToString();
    conn.Close();
}

使该过程成为count变量,但随后将其锁定,完全不可用。。。不知道如何释放它。

试图构建一个过程来创建一个变量,但它被困在了内部

将计数变量声明放在外部函数范围中。

              private int GetCount()
              {
                int count;
                OleDbConnection conn = new OleDbConnection();
                conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=access.mdb";
                conn.Open();
                OleDbCommand cmmd = new OleDbCommand("SELECT * FROM probe", conn);
                using (OleDbDataReader myReader = cmmd.ExecuteReader())
                {
                    DataTable dt = new DataTable();
                    dt.Load(myReader);
                    count = dt.Rows.Count;
                    lblCount.Text = count.ToString();
                    conn.Close();
                }
                return count;
              }
              int myCount = GetCount();