Итак, я пытаюсь создать поиск, используя три уровня, и в Интернете не так много хороших примеров, поэтому я попробовал его, чтобы посмотреть, смогу ли я заставить его работать, но по какой-то причине он просто не работает. Не могли бы вы взглянуть на мой код и понять, что я делаю неправильно?
Хранимая процедура:
CREATE PROCEDURE [dbo].[GuestSearch]
@FirstName varchar(20),
@LastName varchar(20),
@Phone varchar(15)
AS
SELECT FirstName, Lastname, Phone
FROM Guest
WHERE FirstName LIKE '%'+@FirstName+'%'
AND LastName LIKE '%'+@LastName+'%' AND
Phone LIKE '%'+@Phone+'%'
БЕЛ
public class GuestBEL
{
public int GuestID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Phone { get; set; }
}
БЛЛ
public DataSet FindGuest()
{
GuestDAL objDAL = new GuestDAL();
return objDAL.FindGuest();
}
ДАЛ
public DataSet FindGuest()
{
DataSet dts = new DataSet();
SqlCommand cmd = new SqlCommand("GuestSearch", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter adapt = new SqlDataAdapter(cmd);
con.Open();
adapt.Fill(dts);
cmd.Dispose();
dts.Dispose();
con.Close();
return dts;
}
UI
protected void btnSearch_Click(object sender, EventArgs e)
{
DataSet data = new DataSet();
data = objBLL.FindGuest();
gvGuest.DataSource = data;
gvGuest.DataBind();
readGrid();
}
Итак, когда я набираю что-то в поиске, gridview должен отображать то, что я ввел в текстовое поле, но по какой-то причине я получаю сообщение об ошибке: «Процедура или функция «GuestSearch» ожидает параметр «@FirstName», который не был предоставлен.
SqlCommand
. - person Daniel A. White   schedule 02.05.2019