【发布时间】:2019-05-05 01:29:01
【问题描述】:
大家好,我正在开发一个搜索按钮,该按钮将通过用户名或城市或其他任何内容在数据库中搜索用户。 我试图制作用户名的参数,我在里面放了一个文本框,如果他在文本框中写了一些东西并单击按钮,它将只显示他在文本框中写的用户名的用户...... 但是它不起作用,请帮我找出如何制作它...
代码:
1 HTML(非常短):
<asp:TextBox ID="txtUserNameFooter" runat="server" />
<asp:Button ID = "SearchButton" Text = "חפש" runat="server" onclientclick="SearchButton_Click" onclick="SearchButton_Click" />
2 Asp.net (C#) 数据库
protected void SearchButton_Click(object sender, EventArgs e)
{
using (OleDbConnection sqlCon = new OleDbConnection(connectionStr))
{
sqlCon.Open();
string query = "SELECT * FROM Users WHERE UserName=@UserName";
OleDbCommand sqlCmd = new OleDbCommand(query, sqlCon);
sqlCmd.Parameters.AddWithValue("@UserName", txtUserNameFooter.Text);
sqlCmd.ExecuteNonQuery();
PopulateGridView();
sqlCon.Close();
}
}
3 PopulateGridView 代码
void PopulateGridView()
{
DataTable dtbl = new DataTable();
using (OleDbConnection sqlCon = new OleDbConnection(connectionStr))
{
sqlCon.Open();
OleDbDataAdapter sqlDa = new OleDbDataAdapter("SELECT * FROM Users", sqlCon);
sqlDa.Fill(dtbl);
}
if (dtbl.Rows.Count > 0)
{
AdminBook.DataSource = dtbl;
AdminBook.DataBind();
}
else
{
dtbl.Rows.Add(dtbl.NewRow());
AdminBook.DataSource = dtbl;
AdminBook.DataBind();
AdminBook.Rows[0].Cells.Clear();
AdminBook.Rows[0].Cells.Add(new TableCell());
AdminBook.Rows[0].Cells[0].ColumnSpan = dtbl.Columns.Count;
AdminBook.Rows[0].Cells[0].Text = "No Data Found";
AdminBook.Rows[0].Cells[0].HorizontalAlign = HorizontalAlign.Center;
}
}
网站图片 Click Here to Look for it
我希望它在您在文本框中写入并按下按钮时进行搜索,如果他们的用户名与文本框类似,然后如果有,它将仅显示该用户名的数据... 请大家帮帮我,我会很高兴得到帮助:)
【问题讨论】:
-
“不工作”是什么意思?你得到所有用户,什么都没有,错误的?您是否也确认了 PostBack 上
txtUserNameFooter.Text的值? -
我想得到我在文本框中写的用户,我的意思是如果我写 david123 它只会显示来自这个用户名数据的数据
-
我添加了 PopulateGridView 代码
标签: c# asp.net database search oledb