正在尝试将数据从Microsoft Access 2010拉到C#程序
本文关键字:2010拉 Access 程序 Microsoft 数据 | 更新日期: 2023-09-27 18:23:49
我正在尝试构建一个程序,该程序从访问数据库中提取数据。以下是我构建的SQL语句(已在Access中测试并有效):
SELECT Volunteer.LoaneeID, FirstName, LastName, SUM(HoursWorked )
FROM VOLUNTEER
INNER JOIN PERSON
ON Volunteer.LoaneeID = Person.ID
Group by FirstName, LastName, LoaneeID;
我现在面临的问题是上面的总结。当我运行我的代码时,我得到有一个意外的问题:"HoursWorked"
这是我构建的代码。我确信这是一个愚蠢的错误。谢谢你的帮助!
Private void more15(string sql)
{
//string inputLine;
clsQuery loanee;
mLoanee.Clear();
// Read the data from the specified file.
if (File.Exists(mClientFile) == false)
{
ShowMessage(mClientFile + " does not exist. Please open another file.");
return;
}
try
{
openDatabaseConnection();
mDB.Open();
OleDbCommand cmd;
OleDbDataReader rdr;
cmd = new OleDbCommand(sql, mDB);
rdr = cmd.ExecuteReader();
while (rdr.Read() == true)
{
loanee = new clsQuery(
(int)rdr["LoaneeID"],
(string)rdr["FirstName"],
(string)rdr["LastName"],
(int)rdr["HoursWorked"]);
mLoanee.Add(loanee);
}
rdr.Close();
}
catch (Exception ex)
{
ShowMessage("There was an unexpected problem: " + ex.Message);
}
finally
{
closeDatabaseConnection();
}
}
您没有为sum(HoursWorked)提供别名。
更改您的查询如下:
SELECT Volunteer.LoaneeID, FirstName, LastName, SUM(HoursWorked ) as HoursWorked
FROM VOLUNTEER
INNER JOIN PERSON
ON Volunteer.LoaneeID = Person.ID
Group by FirstName, LastName, LoaneeID;