Walaa wrote:
Could you please attach a repro database script?
Which version (release date) of the designer are you using?
I dug a little deeper and it seems that the trouble is with stored procedures with no input parameters when the stored proc returns a resultset.
I can reproduce the issue the the code below.
My LLBLGEN Oct. 8th, 2010 project:
Target framework: LLBLGen Pro Runtime Framework
Generated code: vb.net, .net 4, SelfServicing
use master
create database test1
go
use test1
create schema Reports
go
create table testTable (id int not null identity(1,1), name varchar(50))
alter table dbo.testTable add constraint pk_testTable primary key clustered (id)
go
insert into testTable (name) values ('n1')
insert into testTable (name) values ('n2')
insert into testTable (name) values ('n3')
go
create view viewTable as select name from testTable
go
create procedure [dbo].[test1]
AS
select 1 as x
go
create procedure [dbo].[test2]
@id int
AS
select 1 as x
go
create procedure [Reports].[test3]
AS
select 1 as x
go
create procedure [Reports].[test4]
@id int
AS
select 1 as x
go
paste from RetrievalProcedures.vb below:
''' <summary>Creates the Call Object For the Call 'Test3' to stored procedure 'test3'.</summary>
''' <param name="dataAccessProvider">The data access provider.</param>
''' <returns>Ready To use StoredProcedureCall Object</returns>
Private Shared Function CreateTest3Call(dataAccessProvider As IDataAccessCore) As StoredProcedureCall
Return New StoredProcedureCall(dataAccessProvider, "[test1].[dbo].[test3]", "Test3")
End Function
''' <summary>Creates the Call Object For the Call 'Test4' to stored procedure 'test4'.</summary>
''' <param name="dataAccessProvider">The data access provider.</param>
''' <param name="id">Input parameter</param>
''' <returns>Ready To use StoredProcedureCall Object</returns>
Private Shared Function CreateTest4Call(dataAccessProvider As IDataAccessCore, id As System.Int32) As StoredProcedureCall
Return New StoredProcedureCall(dataAccessProvider, "[test1].[Reports].[test4]", "Test4") _
.AddParameter("@id", "Int", 0, ParameterDirection.Input, True, 10, 0, id)
End Function
''' <summary>Creates the Call Object For the Call 'Test1' to stored procedure 'test1'.</summary>
''' <param name="dataAccessProvider">The data access provider.</param>
''' <returns>Ready To use StoredProcedureCall Object</returns>
Private Shared Function CreateTest1Call(dataAccessProvider As IDataAccessCore) As StoredProcedureCall
Return New StoredProcedureCall(dataAccessProvider, "[test1].[Reports].[test1]", "Test1")
End Function
''' <summary>Creates the Call Object For the Call 'Test2' to stored procedure 'test2'.</summary>
''' <param name="dataAccessProvider">The data access provider.</param>
''' <param name="id">Input parameter</param>
''' <returns>Ready To use StoredProcedureCall Object</returns>
Private Shared Function CreateTest2Call(dataAccessProvider As IDataAccessCore, id As System.Int32) As StoredProcedureCall
Return New StoredProcedureCall(dataAccessProvider, "[test1].[dbo].[test2]", "Test2") _
.AddParameter("@id", "Int", 0, ParameterDirection.Input, True, 10, 0, id)
End Function