使用参数化SQL Server存储过程填充DataGrid

时间:2013-05-04 15:35:52

标签: sql-server vb.net

我是Visual Studio和VB的新手,需要一些帮助。

我在Visual Studio 2012 Express中创建了一个项目:

  1. 数据连接到SQL Server数据库
  2. 数据集
  3. 数据源/ TableAdaptor ,链接到
  4. 存储过程
  5. 似乎很难看出创建了什么数据连接,数据集,数据源和表适配器,我有点混淆为什么1和2不是同一个东西。

    存储过程接受参数并根据这些参数提供结果。

    在预览中 - 一切正常。

    现在,当按下按钮时,我正在尝试使用提供的参数使用数据源中的数据填充数据网格。这就是我摔倒的地方。我已经实例化了TableAdaptor

    Private Sub btnReport_Click_1(sender As Object, e As RoutedEventArgs) Handles btnReport.Click
        Dim tableAdapter As New JBDataSet.p_Utility_UnLocked_TasksDataTable()
    
        Me.MyDataGrid.DataSource = tableAdapter.GetData("Report", "1234")
    
    End Sub
    

    我认为第一行(Dim)正确地实例化了tableAdapter,但我知道第二行是不正确的。我看了一遍,无法找到我需要做的事情。

1 个答案:

答案 0 :(得分:0)

tableAdapter的编译时类型是什么?只需将鼠标悬停在VS上并检查即可。

我的猜测是DataTable

Dim tableAdapter As New JBDataSet.p_Utility_UnLocked_TasksDataTable()

因为您引用的对象称为任务 DataTable

您通常使用DataAdapter like this

Dim queryString As String = _
  "SELECT CustomerID, CompanyName FROM dbo.Customers"
Dim adapter As SqlDataAdapter = New SqlDataAdapter(queryString, connection)

Dim customers As DataSet = New DataSet
adapter.Fill(customers, "Customers")