Моя хранимая процедура SQL выглядит следующим образом:
CREATE PROCEDURE [dbo].[GetTradeByLevel](
@LevelId INT
)
AS
BEGIN
if(@LevelId=1)
BEGIN
select * from CHANNELCLASS
select a.* from accountmaster a join CHANNELCLASS b on a.ChannelClassificationId=b.ChannelClassificationId
select r.* from REGION r join accountmaster a on r.Accountid=a.AccountID
select s.* from STORE s join REGION r on s.RegionID=r.RegionId
END
else if(@LevelId=2)
BEGIN
select a.* from accountmaster a join CHANNELCLASS b on a.ChannelClassificationId=b.ChannelClassificationId
select r.* from REGION r join accountmaster a on r.Accountid=a.AccountID
select s.* from STORE s join REGION r on s.RegionID=r.RegionId
END
else if(@LevelId=3)
BEGIN
select r.* from REGION r join accountmaster a on r.Accountid=a.AccountID
select s.* from STORE s join REGION r on s.RegionID=r.RegionId
END
else if(@LevelId=4)
BEGIN
select s.* from STORE s join REGION r on s.RegionID=r.RegionId
END
END
GO
Я должен вызвать эту хранимую процедуру в консольном приложении C #.Если значение моего параметра равно 1, это означает, что я должен хранить 4 табличных значения в C # List<>
.Я пытался, но он хранит только данные первой таблицы.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
int v = 1;
int cl;
SqlConnection con = new SqlConnection("Data Source=CTSINDLFVMOSS;Initial Catalog=DB_CGTPO_DEVE;User ID=DB_CGTPO_DEVE;Password=cgtpo");
con.Open();
SqlCommand cmd = new SqlCommand("GetTradeByLevel", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@LevelId", v);
List<string> customers = new List<string>();
using (SqlDataReader dr = cmd.ExecuteReader())
{
cl = dr.FieldCount;
while (dr.Read())
{
for (int i = 0; i < cl; i++)
{
customers.Add(dr[i].ToString());
//customers.Add(dr[1].ToString());
//customers.Add(dr[2].ToString());
}
}
}
for (int i = 0; i < customers.Count; i++) // Loop through List with for
{
Console.WriteLine(customers[i]);
}
con.Close();
}
}
}
Это страница моего консольного приложения ... если значение моего параметра равно 1, значит, оно должно хранить 4 табличных значения, но сначалатолько табличное значение, я должен хранить все 4 табличных значения, любое помогает мне, ....