【问题标题】:How to display values into gridview from sql databese如何从sql数据库将值显示到gridview中
【发布时间】:2014-11-09 03:50:23
【问题描述】:

在我的数据库中,我有三个表。一个为雇员保留他们的姓名、身份证件、薪水……在第二个名为项目的项目中,我保留了身份证件、位置、姓名。在名为 WorksOn 的第三个中,我保留了雇员的 id 和项目的 id。在我的网格视图中的 Asp .Net 网站中,我需要显示员工的姓名和他正在工作的项目的名称。

  string connect = 
    WebConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString;
    SqlConnection con = new SqlConnection(connect);
    try
    {
    con.Open();
    }
    catch (Exception err)
    {
    string error = err.Message;
     con.Close();

    }


   SqlCommand command = new SqlCommand();

    command.Connection = con;


    SqlDataReader reader;

    command.CommandText = "SELECT * FROM WorksON ";
    reader= command.ExecuteReader();   

在 gridview 的数据源中,如果我选择显示 WorksOn 表中的值,它会显示来自雇员的 ID 和来自项目的 ID,但我需要的是显示雇员和项目的名称。 我知道我需要对数据集做一些事情,但我不知道是谁。

【问题讨论】:

  • 听起来你需要join从WorksON表到员工信息表。
  • 请分享表结构。

标签: c# sql asp.net gridview dataset


【解决方案1】:

您的 SQL 命令必须加入相关的表。比如:

SELECT * FROM WorksOn JOIN Employee on WorksOn.EmployeeId = Employee.Id

请注意,您应该选择“*”(所有列)。您应该只选择您的数据视图所需的那些列以提高性能。

【讨论】:

    【解决方案2】:

    在您的 SQL 命令中,您没有提及任何关于 Employs 的内容。您需要使用 JOIN SQL 命令来获取员工姓名和公司名称。

    并且不要使用“SELECT * FROM...”,而是考虑使用列名,因为您不是要显示所有列。它将帮助我们了解列的名称以进一步帮助您。

    【讨论】:

      【解决方案3】:

      使用这样的 JOIN 查询:

      SELECT project.projectName, employee.Name
        FROM (worksOn
              INNER JOIN employee
                 ON (worksOn.employeeId = employee.employeeId))
             INNER JOIN project
                ON     (project.projectId = employee.employeeId)
                   AND (worksOn.projectId = project.projectId)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-31
        • 1970-01-01
        • 2022-01-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多