Sql server 在vb.net中仅显示我的datareader中的最后一条记录

Sql server 在vb.net中仅显示我的datareader中的最后一条记录,sql-server,vb.net-2010,Sql Server,Vb.net 2010,在MsgBox中,仅显示数据库结果的最后一行。。 我想使用rows.add函数将sql结果添加到datagrid Try GetDataConn(".", "restaurant", True) Dim sqlcmd As New SqlCommand("SELECT i.item_id as 'item', i.item_name as 'name', i.price as 'price', t.item_qty as 'qty' FROM item_t

在MsgBox中,仅显示数据库结果的最后一行。。 我想使用rows.add函数将sql结果添加到datagrid

    Try
        GetDataConn(".", "restaurant", True)
        Dim sqlcmd As New SqlCommand("SELECT i.item_id as 'item', i.item_name as 'name', i.price as 'price', t.item_qty as 'qty' FROM item_tbl i, temp_tbl t WHERE t.item_id = i.item_id AND t.table_id ='" & id.Trim & "' ", sqlConn)
        Dim myreader As SqlDataReader
        myreader = sqlcmd.ExecuteReader()
        myreader.Read()
        While myreader.hasRow()
            'frmMain.posdatagrid.Rows.Add(myreader.Item("item"), myreader.Item("name"), myreader.Item("price"), myreader.Item("qty"), myreader.Item("price") * myreader.Item("qty"))
            MsgBox(myreader.Item("item"))
            myreader.NextResult()
        End While

    Catch ex As Exception
        sqlcmd.Dispose()

    End Try

尝试将
SELECT
转换为
SELECT TOP(1)
。这将为您提供查询执行返回的第一行。使用rows.Add是一项要求,还是允许您使用网格的标准DataSource属性?