Edit: Added code tags for clarity - HackCode:internal void LoadMachineData(DateTime CurDate,DataSet Dset)
{
if (G1.cn.State == ConnectionState.Closed)
{
G1.ConnectDB();
}
int[] MCNO = new int[Dset.Tables["ComberMachine"].Rows.Count];
float[] FRollDia = new float[Dset.Tables["ComberMachine"].Rows.Count];
cmSQL = new SqlCommand("select * from PD_ComMachines",G1.cn);
SQLDR = cmSQL.ExecuteReader();
int i=0;
while (SQLDR.Read())
{
MCNO[i] = int.Parse(SQLDR["MachineNo"].ToString());
FRollDia[i] = int.Parse(SQLDR["FRollDia"].ToString());
i = i+1;
}
SQLDR.Close();
cmSQL.Dispose();
G1.CloseConnection();
i =0;
// Loop run and call Fill Grid Method
for (i=0;i<=MCNO.Length-1;i++)
{
FillGrid(MCNO[i],FRollDia[i],CurDate);
}
}
For Loop run 10 times and each time Procedure return one value
how we fill dataGird when Stored Prodcedure retruen one value each time
internal void FillGrid(int MachineNO,float FDia,DateTime CurDate)
{
try
{
SqlCommand cmdFill = new SqlCommand("CurrentComberMachineConfig",G1.cn);
cmdFill.CommandType=CommandType.StoredProcedure; cmdFill.Parameters.Add("@machNo", SqlDbType.Int);
cmdFill.Parameters["@machNo"].Value = MachineNO;
cmdFill.Parameters["@machNo"].Direction = ParameterDirection.Input;
cmdFill.Parameters.Add("@CODate", SqlDbType.DateTime);
cmdFill.Parameters["@CODate"].Value = DateTime.Parse(string.Format("{0:dd/MM/yyyy}",CurDate));
cmdFill.Parameters["@CODate"].Direction = ParameterDirection.Input;
cmdFill.Parameters.Add("@FRollDia", SqlDbType.Float);
cmdFill.Parameters["@FRollDia"].Value = FDia;
cmdFill.Parameters["@FRollDia"].Direction = ParameterDirection.Input;
cmdFill.Parameters.Add("@CODateo", SqlDbType.VarChar,20);
cmdFill.Parameters["@CODateo"].Direction = ParameterDirection.Output;
cmdFill.Parameters.Add("@coID", SqlDbType.Char,5);
cmdFill.Parameters["@coID"].Direction = ParameterDirection.Output;
cmdFill.Parameters.Add("@HanksSliver", SqlDbType.Float);
cmdFill.Parameters["@HanksSliver"].Direction = ParameterDirection.Output;
cmdFill.Parameters.Add("@COTime", SqlDbType.VarChar,20);
cmdFill.Parameters["@COTime"].Direction = ParameterDirection.Output;
if (G1.cn.State == ConnectionState.Closed)
{
G1.ConnectDB();
}
cmdFill.ExecuteNonQuery();
// Retrive result from stored procedure
CODate = (string)cmdFill.Parameters["@CODateo"].ToString();
COID = (string)cmdFill.Parameters["@coID"].ToString();
HanksSliver = (double)cmdFill.Parameters["@HanksSliver"].Value;
COTime = (string)cmdFill.Parameters["@COTime"].ToString();
