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 33 34 35 36 37 38 39 40 41 42
|
public static DataSet Execute(string strSQL, SqlParameterCollection args, String Table)
{
DataSet dataset = new DataSet();
string NomTable = Table;
SqlDataReader oReader;
// oReader = null;
try
{
string connectString = @"Server=monserveur;Initial Catalog=mabase;User Id=login;Password=passwd;";
using (SqlConnection cn = new SqlConnection(connectString))
{
cn.Open();
int i;
SqlCommand cmd = new SqlCommand(strSQL, cn);
for (i = 0; i < args.Count; i++)
{
cmd.Parameters.AddWithValue(args[i].ParameterName, args[i].Value);
}
cmd.CommandType = CommandType.StoredProcedure;
oReader = cmd.ExecuteReader(); //C'est sur cette instruction que c'est long!
i = 2; //numerotation des tables en cas de renvoi de plusieurs select par la procedure
while (oReader.IsClosed.Equals(false))
{
dataset.Load(oReader, LoadOption.PreserveChanges, NomTable);
NomTable = Table + i.ToString();
i++;
}
cn.Close();
cmd.Dispose();
oReader.Dispose();
}
}
catch (Exception e)
{
//gestion
}
return dataset;
} |
Partager