我必须使用参数化从数据库“员工详细信息”中搜索员工姓名

时间:2019-03-28 06:19:51

标签: c# asp.net

我有一个gridview(gridview1),最初使用sqlDataSource(ID:sqlDataSource1)在其中显示数据库。我为用户提供了一个搜索按钮,从那里他可以通过键入雇员的姓名来搜索雇员。单击该按钮时,gridview应该仅显示匹配的结果。

这是我在单击按钮时执行的功能。有没有我遗漏的命令? 显示的错误是:必须声明标量变量“ @TextBoxSearchParameter”。

TextBoxSearch是文本框的ID。 EmployeeDetails是一个具有employeeID和EmployeeName的数据库

 protected void ButtonSearch_Click(object sender, EventArgs e)
{
 SqlDataSource1.SelectCommand = "select * from EmployeeDetails where 
 EmployeeName like @TextBoxSearchParameter";
            SqlDataSource1.SelectParameters.Add("@TextBoxSearchParameter", 
 TextBoxSearch.Text + "%");
 GridView1.DataBind();
}

它应该显示所有员工的记录,并以用户在gridview1上输入的姓名开头。

3 个答案:

答案 0 :(得分:0)

尝试一下

elementPos = {
  row: 2,
  column: 2
};

tableRows: number = 4;
tableColumns: number = 4;

ngOnInit() {
  this.refreshTable();
}

refreshTable() {
  tableHTML = '<table><tbody>';
  for(let i=0;i<this.tableRows;i++) {
    tableHTML += '<tr>';
    for(let j=0;j<this.tableColumns;j++) {
      if (this.elementPos.row === i && this.elementPos.column === j) {
        tableHTML += '<td><div>My Element</div></td>';
      } else {
        tableHTML += '<td></td>';
      }
    }
    tableHTML += '</tr>';
  }

  document.querySelector('#myTableDiv').innerHTML = tableHTML;
}

updateElePosOnInput(val) {
  switch(val) {
    case 1:
      this.elementPos.row -= 1;
      break;
    case 2:
      this.elementPos.row += 1;
      break;
    default:
      this.elementPos.row = 2;
      this.elementPos.column = 2;
  };
  this.refreshTable();
}

答案 1 :(得分:0)

尝试

 protected void ButtonSearch_Click(object sender, EventArgs e)
 {
      SqlDataSource1.SelectCommand = "select * from EmployeeDetails where  EmployeeName like '%@TextBoxSearchParameter%'"; //query modified
      SqlDataSource1.SelectParameters.Add("@TextBoxSearchParameter",  TextBoxSearch.Text); // modified the  around TextBoxSearch.Text
      GridView1.DataBind();
 }

答案 2 :(得分:0)

尝试一下

SqlDataSource1.SelectCommand = "select * from EmployeeDetails where EmployeeName like '% @TextBoxSearchParameter %' ";
 SqlDataSource1.SelectParameters.Add("@TextBoxSearchParameter", 
 TextBoxSearch.Text);