【问题标题】:Populate DataGridView from a Stored Procedure从存储过程填充 DataGridView
【发布时间】:2010-12-28 00:31:40
【问题描述】:

我使用 SQL Server 2008 创建了一个名为 MyStoreProc 的存储过程,它在管理工具中运行良好。

在 VB.Net 2008 中,我创建了一个新数据集和一个新 TableAdaptor。在这个表适配器中,我创建了一个名为 FillByGrid 的新查询并选择了存储过程。预览数据并正确预览。

在一个表单上,我创建了 DataGridView 并从数据集中选择了 Table Adapter。

我运行了应用程序,但没有显示任何数据。 Visual Studio 自动创建了下面的代码,我将其更改为选择我刚刚创建的查询:

Me.MyTableAdapter.FillByGrid(Me.MyDataset.MyTableAdaptor)

网格上没有显示数据,所以我尝试了手动方法:

' Create the dataset
Dim da As New SqlDataAdapter, ds As New DataSet
Dim conn As New SqlConnection

conn.ConnectionString = opsData.DBConn.ConnectionString
da.SelectCommand = New SqlCommand
da.SelectCommand.Connection = conn
da.SelectCommand.CommandType = CommandType.StoredProcedure
da.SelectCommand.CommandText = "dbo.MyStoreProc"
da.Fill(ds, "tbl1")
DataGridView2.DataSource = ds.Tables("tbl1")

仍然没有显示数据。但是单步执行我可以看到连接已打开,并且“da.Fill(ds, "tbl1")" 需要一点时间,因为它正在运行存储过程并且 ds 表具有正确的行数和列数.它只是没有显示在数据网格上。

在数据集中创建另一个表适配器,并使用标准的 select * from table 命令从数据库表中返回数据,显示在 datagridview 中。

有人有什么建议吗?

谢谢

【问题讨论】:

  • datagridview 是显示列但没有数据,还是什么都不显示?
  • datagridview 什么都没有显示?

标签: .net sql sql-server vb.net dataset


【解决方案1】:

我现在设法做到了。下面是我所做的。感谢大家的帮助。它把我推向了正确的方向。

Dim strCon As String = myConnectionString
Dim strSQL As String = "dbo.MyStoreProc"
Dim dataAdapter As New SqlClient.SqlDataAdapter(strSQL, strCon)
Dim table As New DataTable
dataAdapter.Fill(table)
DataGridView1.DataSource = table

【讨论】:

    【解决方案2】:

    似乎有大量资源可用于说明如何做到这一点。最好的来源是:http://www.asp.net/learn/data-access/ -

    没有一个好的老式search yields lots too

    【讨论】:

    • 谢谢,您的搜索链接(液体果冻)将我带回了我昨天查看的网站……不过搜索网站很棒!会再次使用!
    • 很高兴有帮助 - 这是我用 JQuery 编写的一个小个人项目 :-) 欢迎加入 Facebook 用户组,为您喜欢的功能提出建议:facebook.com/group.php?v=wall&viewas=0&gid=31367684350#/…
    【解决方案3】:

    试试 DataGridView2.DataBind();最后

    【讨论】:

    • DataBind() 不是 DataGridView 的函数?
    猜你喜欢
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 2013-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-27
    相关资源
    最近更新 更多