powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Почему не могу вернуть результат ХП DataReader -у ?
15 сообщений из 15, страница 1 из 1
Почему не могу вернуть результат ХП DataReader -у ?
    #32596755
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imports System.Data.SqlClient

Module ConnectSQL

Dim conn As SqlConnection
Dim cmd As SqlCommand
Dim p1, p2 As SqlParameter
Dim dr As SqlDataReader()

Public Sub Connect_()


conn = New SqlConnection()
conn.ConnectionString = "server=MainSever; uid=sa1; pwd=sa1; database=DBLBR"
conn.Open()


cmd = New SqlCommand()
cmd.Connection = conn
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandText = "GetOneMontn"

'добавляем входные параметры ХП
p1 = cmd.Parameters.Add(New SqlParameter("@m", SqlDbType.Int))
p1.Direction = ParameterDirection.Input
p2 = cmd.Parameters.Add(New SqlParameter("@year", SqlDbType.Int))
p2.Direction = ParameterDirection.Input

p1.Value = 7
p2.Value = 2004


'А вот эта строка подчеркивается волнистой линией
dr=cmd.ExecuteReader()

во всплывающей подсказке пишет cannot converted to 1-dimensional array

End Sub

End Module

Что я не так делаю?
...
Рейтинг: 0 / 0
Почему не могу вернуть результат ХП DataReader -у ?
    #32597854
sposad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я ещё тут не совсем освоился, но если перевести на русский, то получтся "не могу переконвертировать в одномерный массив". Отсюда предположение - а не ругается ли он на то, что твоя ХП возвращает не один а несколько столбцов (если конечно это так)? В принципе у меня работает код, аналогичный твоему, но там ХП возвращает один столбец, может здесь и порылась собака ?.
...
Рейтинг: 0 / 0
Почему не могу вернуть результат ХП DataReader -у ?
    #32599032
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
Dim dr As SqlDataReader()  -- by Sa ОШИБКА у вас здесь, очевидно надо так 
 
 --Dim dr As New SqlDataReader() , а лучше Dim dr As SqlDataReader = New SqlDataReader()
 

Public Sub Connect_()

conn = New SqlConnection()
conn.ConnectionString = "server=MainSever; uid=sa1; pwd=sa1; database=DBLBR"
conn.Open()


cmd = New SqlCommand()
cmd.Connection = conn
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandText = "GetOneMontn"

'добавляем входные параметры ХП
p1 = cmd.Parameters.Add(New SqlParameter("@m", SqlDbType.Int))
p1.Direction = ParameterDirection.Input
p2 = cmd.Parameters.Add(New SqlParameter("@year", SqlDbType.Int))
p2.Direction = ParameterDirection.Input

p1.Value = 7
p2.Value = 2004

'А вот эта строка подчеркивается волнистой линией
dr=cmd.ExecuteReader() 


Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Почему не могу вернуть результат ХП DataReader -у ?
    #32599235
sposad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно, а у меня работает с объявлением

Код: plaintext
Dim myReader as SqlClient.SqlDataReader

хотя действительно вроде не должно, присвоено-то ничего не было ...
...
Рейтинг: 0 / 0
Почему не могу вернуть результат ХП DataReader -у ?
    #32599484
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 sa

Все равно подчеркивает!

Dim dr As SqlDataReader = New SqlDataReader()

New SqlDataReader() - вот это подчеркивает!

Не пойму ,что за хрень.

Вот все что есть в форме.






Imports System.Data.SqlClient

Public Class Form1

Inherits System.Windows.Forms.Form

Dim conn As SqlConnection
Dim cmd As SqlCommand
Dim p1, p2 As SqlParameter
Dim ad As SqlDataAdapter
Dim ds As DataSet


Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim dr As SqlDataReader = New SqlDataReader()

Dim dgstyle As New DataGridTableStyle()

DataGrid1.TableStyles.Add(dgstyle)

conn = New SqlConnection()
conn.ConnectionString = "server=MainSever; uid=sa1; pwd=sa1; database=DBLBR"
conn.Open()


cmd = New SqlCommand()

cmd.CommandText = "GetOneMonth"
cmd.CommandType = System.Data.CommandType.StoredProcedure
cmd.Connection = conn
cmd.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(10, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))

p1 = cmd.Parameters.Add(New System.Data.SqlClient.SqlParameter("@m", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(10, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
p2 = cmd.Parameters.Add(New System.Data.SqlClient.SqlParameter("@year", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(10, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))

p1.Value = 7 : p2.Value = 2004

dr=cmd.ExecuteReader()



End Sub


End Class
...
Рейтинг: 0 / 0
Почему не могу вернуть результат ХП DataReader -у ?
    #32599508
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот это у вас написано: Imports System.Data.SqlClient?:)

Если нет, что же вы хотите-то?:)
...
Рейтинг: 0 / 0
Почему не могу вернуть результат ХП DataReader -у ?
    #32599522
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тьфу ты блин, насоветовал я блин.
Вместо этого:
Код: plaintext
1.
Dim dr As SqlDataReader = New SqlDataReader()
Надо просто так:
Код: plaintext
1.
Dim dr As SqlDataReader 
...
Рейтинг: 0 / 0
Почему не могу вернуть результат ХП DataReader -у ?
    #32599635
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HummerА вот это у вас написано: Imports System.Data.SqlClient?:)

Если нет, что же вы хотите-то?:)

Не понял?
...
Рейтинг: 0 / 0
Почему не могу вернуть результат ХП DataReader -у ?
    #32599654
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да с import у вас все нормально. Мой рецепт помог?

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Почему не могу вернуть результат ХП DataReader -у ?
    #32599663
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну просто краткое объявление переменной определённых типов можно писать только после импорта names из определённых namespace.
Т.е. если создадим новое приложение и сразу напишем:
Dim dr As SqlDataReader() - кстати, не так нужно, а вот так:
Dim dr As SqlDataReader, то данный тип пока не будет виден.
Или нужно писать вот так:
Dim dr As System.Data.SqlClient.SqlDataReader
...
Рейтинг: 0 / 0
Почему не могу вернуть результат ХП DataReader -у ?
    #32599665
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавление: с импортс всё в порядке на самом деле.
...
Рейтинг: 0 / 0
Почему не могу вернуть результат ХП DataReader -у ?
    #32599669
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Везде напрочь опоздал:)
...
Рейтинг: 0 / 0
Почему не могу вернуть результат ХП DataReader -у ?
    #32602186
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот , получилось

Imports System.Data.SqlClient

Public Class Form1

Inherits System.Windows.Forms.Form

Dim conn As SqlConnection
Dim cmd As SqlCommand
Dim p1, p2 As SqlParameter
Dim ad As SqlDataAdapter
Dim ds As DataSet
Dim dr As SqlDataReader

Странно , до этого писал тоже самое и это подчеркивалось, а сейчас нет!

Странно..Хмм.
...
Рейтинг: 0 / 0
Почему не могу вернуть результат ХП DataReader -у ?
    #32602192
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Раньше вы писали так:

Dim dr As SqlDataReader()


Что расценивалось как массив.


Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Почему не могу вернуть результат ХП DataReader -у ?
    #32602295
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тьфу ты
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Почему не могу вернуть результат ХП DataReader -у ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]