Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / ХП, fbDataAdapter, DataSet как заполнить данными DataSet / 10 сообщений из 10, страница 1 из 1
22.08.2008, 10:13
    #35500896
kbv06
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ХП, fbDataAdapter, DataSet как заполнить данными DataSet
Добрый день, коллеги. Подскажите п-та!

Работаю через firebirdClient в ASP.NET. Есть такой код


Public Class DataSetConfig
Shared SoliConnectionString As String = ConfigurationManager.ConnectionStrings("SoliConnectionString").ConnectionString
Shared FbSoliConnection As New FbConnection
Private Const QUERY_STRING As String = "{CALL NEW_PROCEDURE(?,?,?,?,?)}"

Private Const DATATABLE_NAME As String = "OBJ"

Public Shared ReadOnly Property CustomerDataSet(ByVal Param1 As Date, ByVal Param2 As Date, ByVal Param3 As Int64, ByVal Param4 As Int64, ByVal Param5 As Int64) As DataSet
Get
Dim myDataSet As DataSet = New DataSet()
FbSoliConnection.ConnectionString = SoliConnectionString
Dim Par1 As New FbParameter("Par1", FbDbType.Date)
Par1.Value = Param1
Dim Par2 As New FbParameter("Par2", FbDbType.Date)
Par2.Value = Param2
Dim Par3 As New FbParameter("Par3", FbDbType.Numeric)
Par3.Value = 0
Dim Par4 As New FbParameter("Par4", FbDbType.Numeric)
Dim Par5 As New FbParameter("Par5", FbDbType.Numeric)
Par5.Value = Param5
Dim MyFbDataAdapter As New FbDataAdapter(QUERY_STRING, FbSoliConnection)

MyFbDataAdapter.SelectCommand.Parameters.Add(Par1)
MyFbDataAdapter.SelectCommand.Parameters.Add(Par2)
MyFbDataAdapter.SelectCommand.Parameters.Add(Par3)
MyFbDataAdapter.SelectCommand.Parameters.Add(Par4)
MyFbDataAdapter.SelectCommand.Parameters.Add(Par5)

MyFbDataAdapter.Fill(myDataSet, DATATABLE_NAME)
myDataSet.WriteXmlSchema("C:\MySchema.xsd")
Return myDataSet

End Get
End Property
End Class

На строке MyFbDataAdapter.Fill(myDataSet, DATATABLE_NAME) вылетает неизвестная ошибка. Если использовать вместо ХП обычный запрос все работает.
Как заполнить DataSet с помощью хранимой процедуры?
...
Рейтинг: 0 / 0
22.08.2008, 10:46
    #35500972
kbv06
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ХП, fbDataAdapter, DataSet как заполнить данными DataSet
Ошибся с кодом. Немного переписал.

Public Class DataSetConfig
Shared SoliConnectionString As String = ConfigurationManager.ConnectionStrings("SoliConnectionString").ConnectionString
Shared FbSoliConnection As New FbConnection
Private Const QUERY_STRING As String = "{CALL NEW_PROCEDURE(?,?,?,?,?)}"

Private Const DATATABLE_NAME As String = "OBJ"

Public Shared ReadOnly Property CustomerDataSet(ByVal Param1 As Date, ByVal Param2 As Date, ByVal Param3 As Int64, ByVal Param4 As Int64, ByVal Param5 As Int64) As DataSet
Get
Dim myDataSet As DataSet = New DataSet()
FbSoliConnection.ConnectionString = SoliConnectionString
Dim Par1 As New FbParameter("Par1", FbDbType.Date)
Par1.Value = Param1
Dim Par2 As New FbParameter("Par2", FbDbType.Date)
Par2.Value = Param2
Dim Par3 As New FbParameter("Par3", FbDbType.Numeric)
Par3.Value = Param3
Dim Par4 As New FbParameter("Par4", FbDbType.Numeric)
Par4.Value = Param4
Dim Par5 As New FbParameter("Par5", FbDbType.Numeric)
Par5.Value = Param5
Dim MyFbDataAdapter As New FbDataAdapter(QUERY_STRING, FbSoliConnection)

MyFbDataAdapter.SelectCommand.Parameters.Add(Par1)
MyFbDataAdapter.SelectCommand.Parameters.Add(Par2)
MyFbDataAdapter.SelectCommand.Parameters.Add(Par3)
MyFbDataAdapter.SelectCommand.Parameters.Add(Par4)
MyFbDataAdapter.SelectCommand.Parameters.Add(Par5)

MyFbDataAdapter.Fill(myDataSet, DATATABLE_NAME)
myDataSet.WriteXmlSchema("C:\MySchema.xsd")
Return myDataSet

End Get
End Property
End Class
...
Рейтинг: 0 / 0
22.08.2008, 11:15
    #35501067
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ХП, fbDataAdapter, DataSet как заполнить данными DataSet
интуиция мне подсказывает что...
Private Const QUERY_STRING As String = "NEW_PROCEDURE"
Dim MyFbDataAdapter As New FbDataAdapter(QUERY_STRING, FbSoliConnection, ...)
... - тип... сторед проц. посмотрите перегрузки...
...
Рейтинг: 0 / 0
22.08.2008, 11:46
    #35501180
kbv06
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ХП, fbDataAdapter, DataSet как заполнить данными DataSet
Посмотрев коды на форуме поправил. Ошибка все равно осталась...
Код: 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.
29.
30.
31.
32.
Public Class DataSetConfig
    Shared SoliConnectionString As String = ConfigurationManager.ConnectionStrings("SoliConnectionString").ConnectionString
    Shared FbSoliConnection As New FbConnection
    Private Const QUERY_STRING As String = "NEW_PROCEDURE"

    Private Const DATATABLE_NAME As String = "NEW_PROCEDURE"

Public Shared ReadOnly Property CustomerDataSet(ByVal Param1 As Date, ByVal Param2 As Date, ByVal Param3 As Int64, ByVal Param4 As Int64, ByVal Param5 As Int64) As DataSet
        Get
            Dim myDataSet As DataSet = New DataSet()
            FbSoliConnection.ConnectionString = SoliConnectionString
            Dim MyFbDataAdapter As New FbDataAdapter(QUERY_STRING, FbSoliConnection)
            MyFbDataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure
            Dim bdate As FbParameter = MyFbDataAdapter.SelectCommand.Parameters.Add("@BDATE", FbDbType.Date)
            bdate.Direction = ParameterDirection.Input
            bdate.Value = Param1
            Dim edate As FbParameter = MyFbDataAdapter.SelectCommand.Parameters.Add("@EDATE", FbDbType.Date)
            edate.Direction = ParameterDirection.Input
            edate.Value = Param2
            Dim ocode As FbParameter = MyFbDataAdapter.SelectCommand.Parameters.Add("@OCODE", FbDbType.Text)
            ocode.Direction = ParameterDirection.Output
            Dim oname As FbParameter = MyFbDataAdapter.SelectCommand.Parameters.Add("@ONAME", FbDbType.Text)
            ocode.Direction = ParameterDirection.Output
            Dim odate1 As FbParameter = MyFbDataAdapter.SelectCommand.Parameters.Add("@ODATE1", FbDbType.Date)
            ocode.Direction = ParameterDirection.Output

            MyFbDataAdapter.Fill(myDataSet, DATATABLE_NAME)
            myDataSet.WriteXmlSchema("C:\MySchema.xsd")
            Return myDataSet
        End Get
    End Property
End Class
...
Рейтинг: 0 / 0
22.08.2008, 12:22
    #35501300
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ХП, fbDataAdapter, DataSet как заполнить данными DataSet
ошибка - unknown error?
...
Рейтинг: 0 / 0
22.08.2008, 12:34
    #35501348
kbv06
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ХП, fbDataAdapter, DataSet как заполнить данными DataSet
Выдано исключение типа "FirebirdSql.Data.Common.IscException".
Текст ошибки.
No message for error code 335544569 found. No message for error code 335544436 found. No message for error code 335544580 found. No message for error code 335544382 found. No message for error code 335544382 found.
...
Рейтинг: 0 / 0
22.08.2008, 12:44
    #35501377
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ХП, fbDataAdapter, DataSet как заполнить данными DataSet
Может что в процедуре? проверяли?
...
Рейтинг: 0 / 0
22.08.2008, 12:46
    #35501387
kbv06
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ХП, fbDataAdapter, DataSet как заполнить данными DataSet
Да. Проверял. Сократил до минимума. Т.е. убрал входные параметры. Оставил только три выходных. Процедура отрабатывает в IBExpert. Возвращает данные.
...
Рейтинг: 0 / 0
22.08.2008, 12:50
    #35501398
kbv06
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ХП, fbDataAdapter, DataSet как заполнить данными DataSet
Е-мое!!!
Не та база!!! )))))))))))))
Приложение не к той базе коннектится. Процедуру просто не находит!
Спасибо большое!)))))
...
Рейтинг: 0 / 0
22.08.2008, 18:06
    #35502434
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ХП, fbDataAdapter, DataSet как заполнить данными DataSet
P.S. kbv06
Код: plaintext
1.
 Private Const QUERY_STRING As String = "{CALL NEW_PROCEDURE(?,?,?,?,?)}"

Шо-то мне подсказывает, что не поддерживает FbClient call-syntax вызова SP, хотя... Могу и ошибацо...
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / ХП, fbDataAdapter, DataSet как заполнить данными DataSet / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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