尝试通过参数和 Oledb 在文本框中按用户名搜索数据库
Trying To Make Search Database by UserName in textbox by Paramaters and Oledb
大家好,我正在开发一个搜索按钮,该按钮将按用户名、城市或其他任何内容在数据库中搜索用户。
我试图制作一个用户名参数,我在里面放了一个文本框,如果他在文本框中写了一些东西并单击按钮,它将只显示他在文本框中写的用户名的用户......
但它不工作伙计们,请帮助我找出如何制作它...
代码:
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 填充网格视图代码
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
我想让它在你在文本框中输入并按下按钮时进行搜索,如果他们的用户名像文本框一样调用,然后如果有,它将只显示该用户名的数据...
请大家帮助我,我会很高兴得到帮助:)
更新 PopulateGridView 方法以接受这样的输入参数:
void PopulateGridView(string searchTerm)
{
DataTable dtbl = new DataTable();
using (OleDbConnection sqlCon = new OleDbConnection(connectionStr))
{
string query = "SELECT * FROM Users";
OleDbCommand sqlCmd = new OleDbCommand(query, sqlCon);
if(!String.IsNullOrWhiteSpace(searchTerm)) {
query+=" WHERE UserName=@UserName";
sqlCmd.CommandText = query;
sqlCmd.Parameters.AddWithValue("@UserName", searchTerm);
}
sqlCon.Open();
OleDbDataAdapter sqlDa = new OleDbDataAdapter(sqlCmd);
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;
}
}
像这样更新 SearchButton_Click 方法:
protected void SearchButton_Click(object sender, EventArgs e)
{
PopulateGridView(txtUserNameFooter.Text);
}
大家好,我正在开发一个搜索按钮,该按钮将按用户名、城市或其他任何内容在数据库中搜索用户。 我试图制作一个用户名参数,我在里面放了一个文本框,如果他在文本框中写了一些东西并单击按钮,它将只显示他在文本框中写的用户名的用户...... 但它不工作伙计们,请帮助我找出如何制作它...
代码:
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 填充网格视图代码
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
我想让它在你在文本框中输入并按下按钮时进行搜索,如果他们的用户名像文本框一样调用,然后如果有,它将只显示该用户名的数据... 请大家帮助我,我会很高兴得到帮助:)
更新 PopulateGridView 方法以接受这样的输入参数:
void PopulateGridView(string searchTerm)
{
DataTable dtbl = new DataTable();
using (OleDbConnection sqlCon = new OleDbConnection(connectionStr))
{
string query = "SELECT * FROM Users";
OleDbCommand sqlCmd = new OleDbCommand(query, sqlCon);
if(!String.IsNullOrWhiteSpace(searchTerm)) {
query+=" WHERE UserName=@UserName";
sqlCmd.CommandText = query;
sqlCmd.Parameters.AddWithValue("@UserName", searchTerm);
}
sqlCon.Open();
OleDbDataAdapter sqlDa = new OleDbDataAdapter(sqlCmd);
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;
}
}
像这样更新 SearchButton_Click 方法:
protected void SearchButton_Click(object sender, EventArgs e)
{
PopulateGridView(txtUserNameFooter.Text);
}