Я разрабатываю онлайн-бронирование и со страницы клиента. Я хочу, чтобы его транзакции просматривались через gridview, но программа возвращает ошибку, и в ней говорится, что «Дополнительная информация: процедура или функция« JoinRoomSubPayment »ожидает параметр «@USERNAME», который не был предоставлен ».Таблица отображения из базы данных в gridview
вот мой код:
Sql:
SELECT USERNAME, FIRST_NAME, LAST_NAME, BIRTHDAY, CONTACT_NUMBER, EMAIL_ADDRESS, HOME_ADDRESS FROM TBL_Client
WHERE USERNAME = @USERNAME
ClassDisplaySummary.cs:
public DataSet _JoinRoomSubPayment(string user){
conn.Open();
SqlCommand cmd = new SqlCommand("JoinRoomSubPayment", conn);
cmd.Parameters.Add("@USERNAME", SqlDbType.VarChar).Value = user;
cmd.ExecuteNonQuery();
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter(cmd);
ds.Clear();
da.Fill(ds, "_JoinRoomSubPayment");
conn.Close();
return ds;}
ClientPage.aspx.cs:
user = Session["username"].ToString();
SummaryGView.DataSource = cd._JoinRoomSubPayment(user).Tables["_JoinRoomSubPayment"];
SummaryGView.DataBind();
Любая помощь будет оценили
Ваше заявление о запросе кажется правильным, но использование SP может не соответствовать. Рассмотрите возможность установки 'cmd.ExecuteNonQuery()' после 'CommandType.StoredProcedure'. И почему использование '_JoinRoomSubPayment' в качестве исходной таблицы в' da.Fill (ds, "_JoinRoomSubPayment") '? –
Я не вижу ошибки, пожалуйста, объясните мне, что такое ошибка? мой SP не подходит, почему? thanks – Newbie10
Используйте режим отладки в проекте VS, объясните, какая строка вашего кода выдает ошибку. Я могу сказать, что ваше назначение SP не подходит с момента вызова метода ExecuteNonQuery() до определения 'CommandType' в' SqlCommand', что не имеет смысла. Используете ли вы 'CREATE PROCEDURE JoinRoomSubPayment' для создания хранимой процедуры? –