Мой список не отображает результаты, когда хранимая процедура запускается с параметром.Список должен отображать транзакции для выбранной учетной записи.
Код, который я использую, отлично работает, когда запускается с другой хранимой процедурой и без параметров.Я проверил хранимую процедуру в базе данных, и она работает так, как должен, отображая транзакции для выбранной учетной записи.
transactionListView.Items.Clear();
SqlConnection sql = new SqlConnection(@"Server=.\DANIELSQL;Database=Accounts;Trusted_Connection=True;");
sql.Open();
SqlCommand com = new SqlCommand("spTransactionTable_GetTransactionDetails_ByAccount", sql);
com.CommandType = CommandType.StoredProcedure;
com.Parameters.AddWithValue("@AccountName", accountNameChoice.SelectedItem.ToString());
SqlDataAdapter da = new SqlDataAdapter(com);
DataTable dt = new DataTable();
da.Fill(dt);
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow dr = dt.Rows[i];
if (dr.RowState != DataRowState.Deleted)
{
ListViewItem lvi = new ListViewItem(dr["TransactionID"].ToString());
lvi.SubItems.Add(dr["AccountName"].ToString());
lvi.SubItems.Add(dr["TransactionAmount"].ToString());
lvi.SubItems.Add(dr["Category"].ToString());
lvi.SubItems.Add(dr["DateValue"].ToString());
lvi.SubItems.Add(dr["IncomeOrExpenditure"].ToString());
transactionListView.Items.Add(lvi);
}
}
sql.Close();
Когда я запускаю хранимую процедуру без параметров, отображаются все записи.Когда я запускаю параметризованную хранимую процедуру, ничего не отображается.
Мне надоело ставить точку останова, начиная с SqlDataAdapter, для обеих хранимых процедур.Когда он попадает в цикл for, в не параметризованной хранимой процедуре он говорит, что он заполнен значением 3, то есть количеством транзакций.На параметризованной хранимой процедуре написано, что она заполнена 0.