Example #1
0
        public void ActualizaDatos(String tabla, DataTable datos)
        {
            if (_Conexion == null || datos == null)
            {
                return;
            }
            DataSet tablaDataSet = new DataSet();
            String  qry          = "select * from " + tabla + " where 1 = 0 ";

            _DataAdapter = new iDB2DataAdapter();
            _DataAdapter.SelectCommand = new iDB2Command(qry, _Conexion);
            _DataAdapter.Fill(tablaDataSet);
            iDB2CommandBuilder Cmb = new iDB2CommandBuilder(_DataAdapter);

            _DataAdapter.InsertCommand = Cmb.GetInsertCommand();
            foreach (DataRow fila in datos.Rows)
            {
                fila.SetAdded();
            }

            _DataAdapter.Update(datos);
        }
 // Define the parameters for the UPDATE command in different ways
 private static void AddParameters(iDB2CommandBuilder cb)
 {
     try
     {
         cb.GetUpdateCommand().Parameters.Add("@return", iDB2DbType.iDB2Char, 1, "G_RETRN");
     }
     catch (Exception e)
     {
         Console.WriteLine(e.Message);
     }
 }
        private void GetAepmMaster()
        {
            var dt = new DataTable();
            var dset = new DataSet();

            //retrieve any records needing updating
            try
            {
                using (var conn = new iDB2Connection(ConfigurationManager.AppSettings["AS400ConnectionString"]))
                {
                    //  string sql = @"SELECT G_GUID, G_ITEM, G_RETRN FROM CGJLEGAC.GETMSTRL1 WHERE G_RETRN != 'R' and G_RETRN != 'S'";
                    string sql = GetUnprocessMasterRecsString();
                    var objDataAdapter = new iDB2DataAdapter();
                    var cmd = new iDB2Command(sql, conn);

                    objDataAdapter.SelectCommand = cmd;
                    objDataAdapter.SelectCommand.CommandTimeout = 0;

                    dt.Clear();
                    dset.Clear();

                    objDataAdapter.Fill(dt);
                    objDataAdapter.Fill(dset, "currentSelections");

                    var cb = new iDB2CommandBuilder(objDataAdapter);
                    AddParameters(cb);

                    //update records to 'S' for submitted
                    for (int i = 0; i < dset.Tables["currentSelections"].Rows.Count; i++)
                    {
                        dset.Tables["currentSelections"].Rows[i]["G_RETRN"] = 'S';
                    }

                    objDataAdapter.Update(dset, "currentSelections");

                    var taskList = new Task[dt.Rows.Count];

                    //submit records asynch
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        taskList[i] = TestAsync(dt, i);
                    }

                    Task.WaitAll(taskList);
                }
            }
            catch (Exception ex)
            {
                WriteToEventLog(ex);
            }
        }