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();




Reply With Quote