Hi,
I am using Datareader and stored procedure in C# ADO.NET.
When I am running the stored procedure in the SQL Query Analyzer and
recieve two rows (as I hace expected)
col1 col2
0 1
0 2
4 2
but when I run it via code the datareader returns with only one result.
Hope someone overcome this and could help
-------------------------------------------------------------------------------------------------------------------------
The Stored procedure
CREATE PROCEDURE FetchData @columnlist char(255), @recordlist
char(255), @tablename char(255)
AS
BEGIN
SET NOCOUNT ON
DECLARE @SQL varchar(8000)
SET @SQL =
' SELECT ' + @columnlist + ' FROM ' + @tablename + 'WHERE rd_id IN
(' + @recordlist + ')'
EXEC(@SQL)
END
GO
-------------------------------------------------------------------------------------------------------------------------
The code
string sqlCommand = "FetchData";
DBCommandWrapper dbCommandWrapper =
db.GetStoredProcCommandWrapper(sqlCommand);
dbCommandWrapper.AddInParameter("@columnlist", DbType.String,
sColumn);
dbCommandWrapper.AddInParameter("@recordlist", DbType.String, records);
dbCommandWrapper.AddInParameter("@tablename", DbType.String, table);
dataReader = db.ExecuteReader(dbCommandWrapper);
do {
while (dataReader.Read()) {
try{
o = dataReader["rms_v1_max"]; }catch{}
try{
o = dataReader["rms_v1_min"]; }catch{}
}
} while (dataReader.NextResult());
*****The innner while runs only one time because the NextResult return
false
Thanks in advance
Oren