【问题标题】:stored procedure- Join Query is working in Sql but unable to load in Datagridview C#存储过程-联接查询在 Sql 中工作,但无法在 Datagridview C# 中加载
【发布时间】:2015-09-17 18:07:30
【问题描述】:

它在 SQL-server 连接查询中工作。在 C# 中,我在数据网格视图中调用,但输出不符合预期???辛苦了,赶紧走吧

1st table issue book

BookId | BooKName | DateIssue| ReturnDate | PersonID
       |          |          |            |
1      | c#       |2007-07-07|2007-07-07  |  105

第二张人表

PersonID | PersonName | PersonType
         |            | 
1        | John       | student

现在,我在 SQL Server 中创建了存储过程... 查询:

ALTER PROCEDURE [database]. [joinIssuetable]
as
select * from table Issue
select * from table Person

Select Book ID,Book Name,Date Issue,Return Date,Person Name
from tableIssue
join tablePerson
  on tableIssue.Person ID = tablePerson.PersonID

================================================ ============================== 在 C# 中调用 Join 查询,但数据网格视图未按预期显示输出。

public void Stored Procedure()
{
  string w = ConfigurationManager.ConnectionStrings["LMS"].ConnectionString;               
            SqlConnection conn = new SqlConnection(w);
            DataTable dt = new DataTable();
            SqlCommand cmd = new SqlCommand("joinIssuetable", conn);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlDataAdapter sda = new SqlDataAdapter(cmd);
            conn.Open();
            sda.Fill(dt);
            dataGridView1.DataSource = dt;
            conn.Close();
}

【问题讨论】:

  • 你的专栏真的有这样的吗?
  • 你需要绑定你的数据网格。 dataGridView1.DataBind();
  • 您应该输入您的实际代码,而不是最终的修饰输出。现在您的列已正确显示,我相信您的查询仍未更新。如果正在显示任何内容,您能否提供一个屏幕截图来说明您的网格如何显示数据?
  • @Warda 您的 SP 将返回 3 个不同的数据表
  • 没有向我展示 sql server 中的方式你能详细说明一下吗?首先,您的网格上没有DataBind()。其次,正如@tinka 建议的那样,您的程序返回 3 个表,最重要的是您需要向我们展示您的输出或错误是什么。我们都在这里为您提供帮助,但前提是您可以帮助我们解决您的问题。

标签: c# sql-server stored-procedures datagridview


【解决方案1】:

您不需要在 StoredProcedure 代码中 Select * from ...。只需编辑您的程序,使其只有 1 个结果集:

ALTER PROCEDURE [database]. [joinIssuetable]
AS
SELECT BookID, BookName, DateIssue, ReturnDate, Person Name
FROM tableIssue
JOIN tablePerson
ON   tableIssue.PersonID = tablePerson.PersonID

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-25
    • 1970-01-01
    相关资源
    最近更新 更多