Хотя процесс работает, я получаю информацию: Доступ запрещен. И это происходит, когда я добавляю действие для присвоения значения ReaderValue. Когда он не добавлен, все работает нормально. Что может быть не так?
private void cb_ReportCategory_SelectedIndexChanged(object sender, EventArgs e)
{
if(!FirstLoad)
{
using (OleDbConnection con = new OleDbConnection(ConfigurationManager.ConnectionStrings[2].ToString()))
{
using (OleDbCommand com = con.CreateCommand())
{
/*com.CommandText = @"SELECT SUM(Amount_Current_quarter)
FROM qryEmployeeCostsPerRev
WHERE Bereich=""" + strDepartment + @"""
AND Vorname_Name=""Unallocated""
AND Cost_Cat_Name=""" + cb_ReportCategory.SelectedValue + @"""";*/
com.CommandText = "sp_EmployeeCostsperRev";
com.CommandType = CommandType.StoredProcedure;
com.Parameters.AddWithValue("Dept", strDepartment);
com.Parameters.AddWithValue("CostCat", cb_ReportCategory.SelectedValue);
Debug.Print(com.CommandText);
con.Open();
OleDbDataReader reader= com.ExecuteReader();
if(reader.HasRows)
{
while(reader.Read())
{
ReaderValue = reader.GetDouble(0);
}
}
reader.Close();
lblAmountValue.Text = Convert.ToString(ReaderValue);
}
}
Это «StoredProcedure» (в Access это запросы)
PARAMETERS [DEPT] Text ( 10 ), [CostCat] Text ( 20 );
SELECT SUM(NAV_TOTALS_Per_Rev.Amount_current_quarter) AS Amount
FROM (ReportCostCategory as t1 INNER JOIN NAV_Acc_Mapping ast t2
ON t1.Cost_Cat_Name = t2.Report_Category )
INNER JOIN ([FTE Werte] t3
INNER JOIN NAV_TOTALS_Per_Rev t4 ON t3.Kostenstelle = t4.Dimension_CostCenter_Value)
ON t2.Account_No = t4.Account_ID
WHERE BEREICH=[Dept] AND Cost_Cat_Name=[CostCat]
AND Vorname_Name="Unallocated";