无法从 C# 中的 MSAccess 获取数据
Cannot fetch data from MSAccess in C#
我正在尝试从 MS Access table 中获取数据。我试图获取数据的查询正在 MS Access 中获取结果,但我无法在 C# 中获取任何数据。以下是我的代码:
public DataTable GetData(string _strTableName, string _strSQL)
{
//Get db connection
string _strdbconn = GetDbConn();
DataSet ds = new DataSet();
DataTable dt = new DataTable(_strTableName);
ds.Tables.Add(dt);
//Open Access Connection
OleDbConnection AccessConn = new OleDbConnection(_strdbconn);
try
{
//Fetch Data
AccessConn.Open();
OleDbCommand AccessComm = new OleDbCommand(_strSQL, AccessConn);
OleDbDataAdapter AccessDataAdptr = new OleDbDataAdapter(AccessComm);
AccessDataAdptr.Fill(ds, _strTableName);
}
catch (Exception ex)
{
throw ex;
}
finally
{
AccessConn.Close();
AccessConn.Dispose();
}
return ds.Tables[_strTableName];
}
以下是我正在使用的SQL:
SELECT CostCenterNumber FROM CostCenterDetails where CostCenterNumber like '100*';
我在 C# 端没有获取任何数据的原因可能是什么?
Ms Access 使用“*”作为通配符。但是,C# OleDb API 仍然使用“%”,即 ANSI 通配符。
我正在尝试从 MS Access table 中获取数据。我试图获取数据的查询正在 MS Access 中获取结果,但我无法在 C# 中获取任何数据。以下是我的代码:
public DataTable GetData(string _strTableName, string _strSQL)
{
//Get db connection
string _strdbconn = GetDbConn();
DataSet ds = new DataSet();
DataTable dt = new DataTable(_strTableName);
ds.Tables.Add(dt);
//Open Access Connection
OleDbConnection AccessConn = new OleDbConnection(_strdbconn);
try
{
//Fetch Data
AccessConn.Open();
OleDbCommand AccessComm = new OleDbCommand(_strSQL, AccessConn);
OleDbDataAdapter AccessDataAdptr = new OleDbDataAdapter(AccessComm);
AccessDataAdptr.Fill(ds, _strTableName);
}
catch (Exception ex)
{
throw ex;
}
finally
{
AccessConn.Close();
AccessConn.Dispose();
}
return ds.Tables[_strTableName];
}
以下是我正在使用的SQL:
SELECT CostCenterNumber FROM CostCenterDetails where CostCenterNumber like '100*';
我在 C# 端没有获取任何数据的原因可能是什么?
Ms Access 使用“*”作为通配符。但是,C# OleDb API 仍然使用“%”,即 ANSI 通配符。