首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用参数和对象库在textbox中用UserName查询数据库的尝试

用参数和对象库在textbox中用UserName查询数据库的尝试
EN

Stack Overflow用户
提问于 2018-12-04 01:45:42
回答 1查看 29关注 0票数 0

嗨,伙计们,我正在研究一个搜索按钮,将搜索用户在数据库中的UserName或他们的城市或其他任何东西。我试着给Username设置一个参数,我在里面放了一个文本框,如果他在文本框中写了一些东西,然后点击按钮,它将只显示具有他在文本框中写的UserName的用户……但这不是工作的家伙,请帮我找出如何使它…

代码:

1HTML(VeryShort):

代码语言:javascript
复制
            <asp:TextBox ID="txtUserNameFooter" runat="server" />
        <asp:Button ID = "SearchButton" Text = "חפש" runat="server" onclientclick="SearchButton_Click" onclick="SearchButton_Click"  />

2个Asp.net (C#)数据库

代码语言:javascript
复制
    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代码

代码语言:javascript
复制
 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的图片

我想让它使当你写在文本框中,并按下按钮,它将搜索如果他们的用户名称为文本框,然后,如果它有,它将只显示这个用户名的数据…请各位帮帮我,我会很高兴得到帮助的:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-04 04:16:58

更新PopulateGridView方法以接受如下所示的输入参数:

代码语言:javascript
复制
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方法:

代码语言:javascript
复制
protected void SearchButton_Click(object sender, EventArgs e)
{
   PopulateGridView(txtUserNameFooter.Text);        
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53599085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档