试图构建一个过程来创建一个变量,但它被困在了内部
本文关键字:一个 内部 构建 过程 变量 创建 | 更新日期: 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();