Member 14832867 Ответов: 1

Как заполнить читатель в datatable


Dim set1 As New SqlCommand("dbo.Test", conn)
set1.CommandType = CommandType.StoredProcedure
set1.Parameters.AddWithValue("@Student_ID", DataSet.Tables(0).Rows(y).Item("Student_ID"))
Dim reader02 As SqlDataReader = set1.ExecuteReader()
Dim myDataSet As DataTable = New DataTable()
myDataSet.Load(reader02)


хранимая процедура
USE [student]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[Test] (
   @Student_ID nvarchar 
) AS
BEGIN
   SELECT DISTINCT Student_ID, Student_Mark
   FROM student, studentMark 
   WHERE student = studentMarkID
   and Student_ID = @Student_ID
   and Student_Mark is not null
END


Что я уже пробовал:

Набор данных возвращает значение null?

Maciej Los

Пожалуйста, не удаляйте содержание вопроса, если есть хотя бы один ответ. В этом случае любой существующий ответ не связан с вопросом. Если вы нашли ответ. Пожалуйста, поделитесь им и примите его как решение.

1 Ответов

Рейтинг:
1

Garth J Lancaster

Вы не очень хорошо описываете, что это за ошибка и в какой строке кода она происходит, не так ли ? . вам нужно стать лучше, если вы продолжаете ожидать большей помощи, потому что у людей есть дела поважнее, чем "расшифровывать" то, что вы пытаетесь сделать .

Лично я бы удалил это

Dim reader02 As SqlDataReader = set1.ExecuteReader()
Dim myDataSet As DataTable = New DataTable()
myDataSet.Load(reader02)

и пойти на что-то вроде
Dim sDA As New SqlDataAdapter(Set1)
Dim myDataSet = new DataSet()
Try
  sDA.Fill(myDataSet)
Catch ex As Exception
  ... do something useful here ...
End Try


Maciej Los

5ed!