c# - 从数据库表中查找数据

标签 c# mysql asp.net

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

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 + "'");
        }
    }
}    

以及我在上面的 aspx.cs 页面中调用的不同 C# 页面中使用的代码:

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();

现在您的查询将从数据库中获得正确的结果。 如果您还有任何其他问题,请告诉我。

关于c# - 从数据库表中查找数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24151249/

相关文章:

c# - 更优雅的嵌套 Linq 查询解决方案?

c# - 任何人都知道 DirectoryEntry.Invoke 的所有方法名称

php - Laravel 虚拟列无法保存

MySql 5.7。多次尝试失败后锁定帐户

javascript - 为什么 Javascript 函数调用在更改隐藏代码的可见性后不起作用

c# - 查看期望 IEnumerable

c# - 有什么方法可以在显示上下文菜单之前获取它的宽度?

c# - Selenium Nunit 插件安装异常

c# - 使用 Entity Framework,Nop Commerce 产品导入变得更慢并且随着时间的推移使用更多内存

Mysql:计算访问之间的平均时间