【问题标题】:How do I load data from a database and display it on a webpage?如何从数据库中加载数据并将其显示在网页上?
【发布时间】:2018-10-25 19:19:49
【问题描述】:

我有一个完整的表单,可以将输入保存到 SQL Server 数据库中。现在我想在文本框内的同一页面中显示旧记录。我制作了一个文本框和一个加载按钮,我想在其中输入一个作业编号,它会显示来自 db 的那一行数据。我将 C# 用于后面的代码,除此之外,我不确定您需要什么信息。欢迎和赞赏任何帮助。这是我第一个在批处理文件之外进行编码的项目,所以我是一个空白画布。

【问题讨论】:

  • 您真正坚持的是哪一部分?你知道如何使用 C# 从数据库中查询数据吗?您知道如何从应用程序的内存中获取数据到文本框中吗?您是否选择了访问数据的方法,例如 ADO.NET、Dapper 或 Entity Framework?
  • 您好,欢迎来到本站!为了让我们帮助您,我们需要您提供更多信息,以便我们更好地了解您的问题。如果您编辑您的问题并将其表述为“这是我的问题,这是我试图解决的问题,这就是我遇到的问题,这可能会有所帮助。”
  • 就像我说的我是新手。我有将文本框值保存到表中的表单,但让它看到“工作编号”并加载该行数据是一种新的蠕虫。我只是不想使用datagridview。只是认为这与使用页后代码的概念相同。

标签: c# asp.net sql-server webforms


【解决方案1】:

所以,这里的基本流程:

  1. 设置您的连接字符串(定义要连接的数据库服务器、要使用的用户名/密码、要查看服务器上的特定数据库)。见https://www.connectionstrings.com/

  2. 声明并初始化必要的对象:

    • 一个 Connection 对象,使用一秒钟前的连接字符串;

    • 一个Command对象告诉数据库要通过连接拉出什么数据;和

    • 一个数据读取器,将实际记录数据加载到其中,然后可以在代码隐藏中使用它来填充字段。
  3. 将数据读取到页面。

例如,考虑以下代码:

using System.Data.SQLClient

。 . .

string ConString = "Server=localhost\\SQLEXPRESS2017;Initial Catalog=MyDatabaseName;User=DatabaseUser;Password=SomeSecretPassword;";

SqlConnection conn;
SqlCommand cmd;
SqlDataReader rdr;

conn = new SqlConnection(ConString);
conn.Open();

cmd = new SqlCommand("SELECT Field1, Field2 FROM TableName WHERE Field3=@0;", conn);
cmd.Parameters.AddWithValue("@0", txtJobNo.Text); // This prevents SQL Injection

rdr = cmd.ExecuteReader();

if (rdr.HasRows)
{
    rdr.Read();

    txtField1.Text = rdr.GetString(0);
    txtField2.Text = rdr.GetString(1);

} else
{
    // Some custom error handling for JobID not found
}

rdr.Close();
conn.Close();

当然,这需要根据您的情况进行调整(连接字符串、字段名称等)

【讨论】:

  • 这将是它看起来像的按钮的代码.. 对吗?我也有用于输入工作的文本框。如果那在代码中,它在哪里?我将填补这些空白,看看我在哪里......我很感激。
  • >_
  • 是的,这将是触发某种“加载记录”按钮的代码。如果我理解您的另一个问题,您可以使用一个文本框控件来输入/编辑 JobNo 字段,并将另一个用于搜索/加载功能。只要确保他们有不同的 ID 就可以了。
  • 刚刚在我的代码中发现另一个错误,需要将, conn添加到初始化cmd的语句中
  • 好吧,我看不到 ,conn 进入初始化 cmd 的位置。 rdr=cmd.ExecuteReader();你说的是正确的
猜你喜欢
  • 2012-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-18
  • 2015-10-08
  • 2021-06-27
相关资源
最近更新 更多