从数据库表中搜索数据

本文关键字:搜索 数据 数据库 | 更新日期: 2023-09-27 18:08:06

我对编程很陌生我接到一个学校项目其中一个要求是能够搜索数据库并在表格中显示结果这是我为此编写的代码:

aspx页面:

<form id="userSearchForm" method="post" action="#">
    <input type="text" id="userName" value="" />
    <input class="button" id="submit" name="submit" type="submit" value="Submit" />
</form>
<%=st %>

aspx.cs页面:

public partial class Default2 : System.Web.UI.Page
{
    public string st=null;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.Form["submit"] != null)
        {
            string user = Request.Form["userName"];
            st = MyAdoHelper.printDataTable("Database.mdf", "select * from members where   name = '" +    user + "'");
        }
    }
}    

和我在不同的c#页面中使用的代码,我在上面的aspx.cs页面中调用:

public static DataTable ExecuteDataTable(string fileName, string sql)
{
    SqlConnection conn = ConnectToDb(fileName);
    conn.Open();
    SqlDataAdapter tableAdapter = new SqlDataAdapter(sql,conn);
    DataTable dt = new DataTable();
    tableAdapter.Fill(dt);
    return dt;
}
public static string printDataTable(string fileName, string sql)
{
    DataTable dt = ExecuteDataTable(fileName, sql);
    string printStr = "<table border='1'>";
    foreach (DataRow row in dt.Rows)
    {
        printStr += "<tr>";
        foreach (object myItemArray in row.ItemArray)
        {
            printStr += "<td>" + myItemArray.ToString() +"</td>";
        }
        printStr += "</tr>";
    }
    printStr += "</table>";
    return printStr;
}

基本上,在我按下提交后,似乎出现了一个空白表-一条大黑线穿过屏幕,好像它是没有信息的表的边界。任何帮助吗?

从数据库表中搜索数据

好的,因为你还在学习的过程中,所以在我想为你解决问题之前,我应该先告诉你。

当你想在服务器端工作时,就像你的代码一样,使用服务器控件比HTML控件更容易,然而HTML控件更轻,但有时在服务器端编码中使用它们是棘手的。因此,替代方案是用<asp:Button代替<input type="submit",用<asp:TextBox代替<input type="text"

无论如何让我们回到你的问题与代码,正如我所说的,它是有点棘手的工作与HTML元素的代码后面,你必须非常小心的HTML元素的属性。

所以你代码中的问题是缺少name属性,所以它应该是这样的;

 <input type="text" id="userName" name="userName" value="" />

那么你就可以在后面的代码中得到这样的值:

 string user = Request.Form["userName"].ToString();

,现在您的查询将从数据库获得正确的结果。

如果您还有什么问题,请告诉我。