我正在尝试构建一个程序,其中该程序从访问数据库中提取数据。这是我已构建的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;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句