我有一个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上输入的姓名开头。
答案 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);