public string coltab(string col) { string v = ""; DB2Command cmd = new DB2Command("select tabname from syscat.columns where colname = '" + col + "'", connect); if (!connect.IsOpen) { connect.Open(); } using (DB2DataReader dr = cmd.ExecuteReader()) { while (dr.Read()) { v = dr.GetString(0); } dr.Close(); } connect.Close(); return(v); }
public string ddl(string q) { string v = ""; DB2Command cmd = new DB2Command(q, connect); if (!connect.IsOpen) { connect.Open(); } using (DB2DataReader dr = cmd.ExecuteReader()) { while (dr.Read()) { v = dr.GetString(0); } dr.Close(); } connect.Close(); return(v); }
public async Task <string> InvokeIbmDb2QueryAsync(string tableName) { var teamMembers = new List <string>(); using (var connection = new DB2Connection(Db2Configuration.Db2ConnectionString)) { connection.Open(); using (var command = new DB2Command("SELECT LASTNAME FROM EMPLOYEE FETCH FIRST ROW ONLY", connection)) { using (var reader = await command.ExecuteReaderAsync()) { while (await reader.ReadAsync()) { teamMembers.Add(reader.GetString(reader.GetOrdinal("LASTNAME"))); } } } var insertSql = string.Format(InsertHotelDB2Sql, tableName); var countSql = string.Format(CountHotelDB2Sql, tableName); var deleteSql = string.Format(DeleteHotelDB2Sql, tableName); using (var command = new DB2Command(insertSql, connection)) { var insertCount = command.ExecuteNonQueryAsync(); } using (var command = new DB2Command(countSql, connection)) { var hotelCount = command.ExecuteScalarAsync(); } using (var command = new DB2Command(deleteSql, connection)) { var deleteCount = command.ExecuteNonQueryAsync(); } } return(string.Join(",", teamMembers)); }
public void IfxConnection_ResultShouldBeOne() { /* Arrange */ object actualValue; const string query = @"SELECT Id FROM DummyTable"; const string connectionString = "Server=127.0.0.1:9089;Database=dummyifx;UID=informix;PWD=in4mix;Persist Security Info=True;Authentication=Server;"; /* Act */ using (var conn = new DB2Connection(connectionString)) { conn.Open(); using (var command = new DB2Command(query, conn)) { actualValue = command.ExecuteScalar(); } } /* Assert */ Assert.Equal(1, actualValue); }
private void ModificarFuncion_Load(object sender, EventArgs e) { PantallaPrincipal pn = new PantallaPrincipal(); DB2Connection connection = pn.obtenerConexion(arbol.SelectedNode.Parent.Parent.Text); try { connection.Open(); DB2Command cmd = new DB2Command(@"select text from syscat.routines where routineschema not like 'SYS%'and routineschema='DB2ADMIN' and text not like '%PROCEDURE%' and ROUTINENAME ='" + arbol.SelectedNode.Text + "';", connection); DB2DataReader buffer = cmd.ExecuteReader(); while (buffer.Read()) { var function = buffer ["TEXT"].ToString(); richTextBox1.Text = function; break; } buffer.Close(); } catch (DB2Exception ex) { MessageBox.Show("Error al mostrar funcion\n" + ex.Message); } connection.Close(); }
public override object ExecuteScalar(string SQLString, CmdParameterCollection cmdParms) { return(this.ExecWithLog <object>(count => { using (DB2Command cmd = new DB2Command()) { PrepareCommand(cmd, _conn, SQLString, cmdParms); object obj = cmd.ExecuteScalar(); if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value))) { count("0"); return null; } else { count("1"); return obj; } } }, SQLString, cmdParms)); }
private int colCant(string tab) { int c = 0; try { DB2Command cmd = new DB2Command("select count(*) from syscat.columns where tabname = '" + tab + "'", connect); using (DB2DataReader dr = cmd.ExecuteReader()) { while (dr.Read()) { c = dr.GetInt32(0); } } } catch (DB2Exception e) { MessageBox.Show(e.ToString()); } return(c); }
private void MostrarCheck_Load(object sender, EventArgs e) { PantallaPrincipal pn = new PantallaPrincipal(); DB2Connection connection = pn.obtenerConexion(arbol.SelectedNode.Parent.Parent.Text); try { connection.Open(); DB2Command cmd = new DB2Command(@"SELECT TEXT FROM SYSIBM.SYSCHECKS WHERE TBCREATOR='DB2ADMIN' AND NAME ='" + arbol.SelectedNode.Text + "';", connection); DB2DataReader buffer = cmd.ExecuteReader(); while (buffer.Read()) { var function = buffer ["TEXT"].ToString(); richTextBox1.Text = function; break; } buffer.Close(); } catch (DB2Exception ex) { MessageBox.Show("Error al mostrar Check\n" + ex.Message); } connection.Close(); }
private void executeProcedure(string procname, string[] parametros) { try { string parametrosParsing = ""; foreach (string singleparam in parametros) { parametrosParsing += '\'' + singleparam + '\'' + ", "; } parametrosParsing = parametrosParsing.Substring(0, parametrosParsing.Length - 2); using (DB2Command _cmd = new DB2Command("CALL " + procname + "(" + parametrosParsing + ")", _con)) { _cmd.ExecuteNonQuery(); MessageBox.Show("Comando executado!"); } } catch { MessageBox.Show("Comando não executado!"); } }
private void button5_Click(object sender, EventArgs e) { PantallaPrincipal pn = new PantallaPrincipal(); DB2Connection connection = pn.obtenerConexion(arbol.SelectedNode.Parent.Parent.Text); try { connection.Open(); string query = "ALTER TABLE " + tabla + " ADD COLUMN " + nombre.Text + " "; string nullo = ""; if (checkBox2.Checked) { nullo += "NULL"; } else { nullo += "NOT NULL DEFAULT"; } if (dato.Text == "VARCHAR") { query += dato.Text + "(" + tamano.Text + ") " + nullo; } if (dato.Text == "INT") { query += dato.Text + " " + nullo; } if (dato.Text.Equals("DECIMAL") || dato.Text.Equals("NUMERIC")) { query += dato.Text + "(" + tamano.Text + "," + escala.Text + ") " + nullo; } DB2Command cmd = new DB2Command(query, connection); cmd.ExecuteNonQuery(); MessageBox.Show("Campo Anadido correctamente"); this.Hide(); } catch (DB2Exception ex) { MessageBox.Show("Error al borrar campo\n" + ex.Message); } connection.Close(); }
public int ExecNoQuery(string strSql) { System.Data.IDbCommand command = null; command = new DB2Command(); command.Connection = this.dbConnection as DB2Connection; command.Transaction = dbTrans; command.CommandType = System.Data.CommandType.Text; command.Parameters.Clear(); command.CommandText = strSql + ""; int i = 0; try { i = command.ExecuteNonQuery(); } catch (DB2Exception ex) { this.Err = "执行产生错误!" + ex.Message; this.ErrCode = strSql; this.DBErrCode = ex.ErrorCode; this.WriteErr(); //if (ex.Code == 12571 || ex.Code == 3113 || ex.Code == 3114) //{ // while (this.Connect(this.con.ConnectionString) == -1) // { // } // goto a; //} return(-1); } if (i == 0) { this.Err = "没找到相应的行数!"; this.ErrCode = strSql; this.WriteErr(); } WriteDebug("执行无返回sql语句!" + strSql); return(i); }
/// <summary> /// Uses a SQL Data Reader to load a data set with data tables from the query execution /// </summary> /// <param name="command">Command (Text command or Stored Procedure)</param> /// <param name="type">Type of command (text, stored procedure or table-direct)</param> /// <returns>Data Set with Data Tables containing the execution results</returns> public void LoadDataSet(string command, CommandType type) { DataSet resultSet = new DataSet(); try { using (DB2Connection connection = new DB2Connection(connectionString.ConnectionString)) { using (DB2Command cmd = new DB2Command(command)) { cmd.Connection = connection; foreach (DB2Parameter parameter in Parameters) { cmd.Parameters.Add(parameter); } cmd.CommandType = type; cmd.Connection.Open(); DB2DataReader reader = null; reader = cmd.ExecuteReader(CommandBehavior.KeyInfo); do { DataTable table = new DataTable(); table.Load(reader); resultSet.Tables.Add(table); } while (!reader.IsClosed); reader.Close(); cmd.Connection.Close(); } } } catch (Exception ex) { Error aError = new Error(ex.Source, ex.Message, GetCurrentMethod()); ErrorList.Add(aError); } Tables = resultSet; }
public bool Transaction(ArrayList sql) { bool commit = true; String exceptions = ""; DB2Command command = new DB2Command(); DB2Transaction trans = connection.BeginTransaction(); command.Connection = connection; command.Transaction = trans; for (int i = 0; i < sql.Count; i++) { command.CommandText = sql[i].ToString(); try { command.ExecuteNonQuery(); } catch { exceptions += String.Format("error ejecutando: {0}\n", sql[i]); commit = false; } } if (commit) { trans.Commit(); } else { trans.Rollback(); } Exceptions = exceptions; return(commit); }
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { comboBox2.Items.Clear(); PantallaPrincipal pn = new PantallaPrincipal(); DB2Connection connection = pn.obtenerConexion(arbol.SelectedNode.Parent.Text); try { connection.Open(); int posicion = comboBox1.SelectedIndex; string nombre_tabla = comboBox1.Items [posicion].ToString(); DB2Command cmd = new DB2Command(@"SELECT NAME FROM SYSIBM.SYSCOLUMNS WHERE TBNAME = '" + nombre_tabla + "';", connection); DB2DataReader buffer = cmd.ExecuteReader(); while (buffer.Read()) { var nombre_campo = buffer ["NAME"].ToString(); comboBox2.Items.Add(nombre_campo); } buffer.Close(); } catch (DB2Exception ex) { } connection.Close(); }
public override int RunProcedure(string storedProcName, CmdParameterCollection parameters, out int rowsAffected) { int result = 0, affectCount = 0; result = this.ExecWithLog <int>(count => { using (DB2Command command = new DB2Command()) { PrepareCommand(command, _conn, storedProcName, parameters); command.CommandType = CommandType.StoredProcedure; command.Parameters.Add(new DB2Parameter("ReturnValue", DB2Type.Integer, 4, ParameterDirection.ReturnValue, false, 0, 0, string.Empty, DataRowVersion.Default, null)); affectCount = command.ExecuteNonQuery(); int rValue = (int)command.Parameters["ReturnValue"].Value; count(rValue.ToString()); return(rValue); } }, storedProcName, parameters); rowsAffected = affectCount; return(result); }
public override void ExecuteNoQuery(string sql, DBOParameterCollection dbp) { DB2Command cmd; DataSetStd ds = new DataSetStd(); using (cmd = new DB2Command(sql, conn)) { try { //如果事務開啟,則使用事務的方式 if (this._s == DBStatus.Begin_Trans) { cmd.Transaction = this.tran; } cmd.CommandText = sql; //如果有參數 if (dbp != null) { FillParametersToCommand(cmd, dbp); } if (_s == DBStatus.Begin_Trans) { cmd.Transaction = this.tran; } cmd.ExecuteNonQuery(); } catch (Exception ex) { throw ex; } finally { cmd.Cancel(); cmd = null; } } }
private static async Task ManageUser(string userName) { using (var connection = new DB2Connection("Server=127.0.0.1:9089;Database=dummyifx;UID=informix;PWD=in4mix;Persist Security Info=True;Authentication=Server;")) { await connection.OpenAsync(); using (var command = new DB2Command($@"SELECT username FROM sysusers WHERE username = '******';", connection)) { if (command.ExecuteScalar() != null) { command.CommandText = $"DROP USER {userName};"; command.ExecuteNonQuery(); } command.CommandText = $"CREATE USER {userName} WITH PROPERTIES USER ifxsurr;"; command.ExecuteNonQuery(); command.CommandText = $"GRANT DBA TO {userName}"; command.ExecuteNonQuery(); } } }
public bool SetSchema(DB2Connection con) { bool status = false; DB2Command sql = new DB2Command(); sql.Connection = con; sql.CommandText = "SET SCHEMA " + schema; try { sql.ExecuteNonQuery(); status = true; } catch (Exception e) { exceptions = "Error al ejecutar: " + cambioLinea + cambioLinea; exceptions += e.ToString(); AdministradorCarpetasRegistro.GrabarLogs(TipoRegistro.Error, sql.CommandText, e, exceptions); status = false; } return(status); }
/// <summary> /// Actualiza estado y mensaje de una operacion obtenida /// </summary> /// <param name="NumeroSecuencia">Numero de secuencia de la operacion</param> /// <param name="Resultado">P:Procesada - R:Error</param> /// <param name="MensajeError">Descripcion del error en caso que corresponda</param> public void ActualizarTransaccion(string NumeroSecuencia, bool Resultado, string MensajeError) { string _estado = string.Empty; if (Resultado) { _estado = "P"; } else { _estado = "R"; } DB2Transaction _trans = _myConn.BeginTransaction(); DB2Command _myDB2Command = _myConn.CreateCommand(); string _myQuery = "UPDATE CCVREQ "; _myQuery += "SET V4FENV = ?, V4HENV = ?, V4ESTA = '?', V4MENS = '?' "; _myQuery += "WHERE V4NSEQ = ?"; _myDB2Command.CommandText = _myQuery; _myDB2Command.Parameters.Add("@FechaEnvio", DB2Type.Decimal); _myDB2Command.Parameters.Add("@HoraEnvio", DB2Type.Decimal); _myDB2Command.Parameters.Add("@Estado", DB2Type.VarChar); _myDB2Command.Parameters.Add("@Mensaje", DB2Type.VarChar); _myDB2Command.Parameters.Add("@Secuencia", DB2Type.Decimal); _myDB2Command.Parameters["@FechaEnvio"].Value = Convert.ToDecimal(string.Format("{0:yyyyMMdd}", DateTime.Now)); _myDB2Command.Parameters["@HoraEnvio"].Value = Convert.ToDecimal(string.Format("{0:HHmmss}", DateTime.Now)); _myDB2Command.Parameters["@Estado"].Value = _estado; _myDB2Command.Parameters["@Mensaje"].Value = MensajeError; _myDB2Command.Parameters["@Secuencia"].Value = Convert.ToDecimal(NumeroSecuencia); _myDB2Command.Transaction = _trans; _myDB2Command.ExecuteNonQuery(); _trans.Commit(); }
static long Orginal_IBM_Provider() { Stopwatch watch = Stopwatch.StartNew(); DB2Connection connection = new DB2Connection(_cliDSN); connection.Open(); DB2Command cmd = new DB2Command(); cmd.Connection = connection; //cmd.CommandText = "select * from syscat.columns"; var parameter = cmd.CreateParameter(); parameter.ParameterName = "@TABSCHEMA"; parameter.Value = "SYSTOOLS"; //cmd.Parameters.Add(parameter); //DB2DataAdapter da = new DB2DataAdapter(cmd); cmd.CommandText = "select XML1 from DB2INST1.STRINGTYPES1"; //cmd.CommandText = "SELECT a.PKID, a.TblType, a.Code, a.Description, a.AmountValue, a.LegacyCode, a.IsSysTable, a.GroupCode, a.UpdUserID, a.UpdDatetime, a.UpdNumber, a.Code || ' - ' || a.Description as CodeAndDescription, (CASE WHEN b.Description IS NULL THEN '' ELSE b.Description END) as TblTypeDesc FROM AP.Lookup a LEFT OUTER JOIN AP.Lookup b ON(b.TblType = 'TBL_TYPE' and b.Code = a.TblType) WHERE a.IsActive = 'Y' ORDER BY a.Description"; //DataTable dt = new DataTable(); //da.Fill(dt); var reader = cmd.ExecuteReader(); var schema = reader.GetSchemaTable(); while (reader.Read()) { var r = reader.GetName(0); var xml = reader.GetString(0); } //DB2DataAdapter da = new DB2DataAdapter(cmd); //DataSet ds = new DataSet(); //da.Fill(ds); //watch.Stop(); return(watch.ElapsedMilliseconds); }
private int innerExecuteCommand(DB2Command cmd, int timeout, bool inTransaction) { try { if (!IsValidTimeout(cmd, timeout)) { throw new ArgumentException("Invalid CommandTimeout value", nameof(timeout)); } if (inTransaction) { cmd.Connection = (DB2Connection)TransConnection; cmd.Transaction = (DB2Transaction)Transaction; } else { cmd.Connection = (DB2Connection)Connection; Connection.Open(); } var rows = cmd.ExecuteNonQuery(); return(rows); } catch (Exception ex) { Logger?.LogError(ex, $"Error at ExecuteCommand; command text: {cmd.CommandText}"); throw new DbDataException(ex, cmd.CommandText); } finally { if (!inTransaction) { if (Connection.State == ConnectionState.Open) { Connection.Close(); } } } }
private string tabValuesScript(string tab) { string c = ""; string q = ""; int x = 0; DB2Command cmd = new DB2Command("select colname from syscat.columns where tabname = '" + tab + "'", connect); if (!connect.IsOpen) { connect.Open(); } using (DB2DataReader dr = cmd.ExecuteReader()) { while (dr.Read()) { c = dr.GetString(0); if (x == 0) { if (colCant(tab) == 1) { q = c + " " + Type(c, tab) + colLength(c, tab); x++; } else { q = q + c + " " + Type(c, tab) + colLength(c, tab); x++; } } else { q = q + ", " + c + " " + Type(c, tab) + colLength(c, tab); x++; } } } return(q); }
public static List <DatosDeConsultaAltaTemprana> ConsultaAltaTemprana(decimal cuil) { log.InfoFormat("Se ejecuta el método YH_ConsultaAltaTemprana con el parámetro {0}", cuil); List <DatosDeConsultaAltaTemprana> response = new List <DatosDeConsultaAltaTemprana>(); DB2Command cmd = AdministradorDeConexion.ObtenerComando(); using (DB2Connection conexion = AdministradorDeConexion.ObtenerConnexion()) { try { cmd.CommandText = string.Format("{0}.YH_ConsultaAltaTemprana", AdministradorDeConexion.GetSchema()); cmd.Parameters.Add(new DB2Parameter("@cuil", cuil)); cmd.Connection = conexion; conexion.Open(); var reader = cmd.ExecuteReader(); while (reader.Read()) { response.Add(Adapter.toConsultaAltaTempranaResponse(reader)); } } catch (Exception ex) { log.ErrorFormat("Se produjo un error en el método YH_ConsultaAltaTemprana {0} - {1} - {2}", ex.Message, ex.Source, ex.StackTrace); throw ex; } finally { if (conexion.IsOpen) { conexion.Close(); } conexion.Dispose(); cmd.Dispose(); } } return(response); }
/// <summary> /// 构造包含参数的SQL语句或命令 /// </summary> /// <param name="command">SQL语句或命令</param> /// <param name="value">参数值列表</param> protected override DbCommand CreateCommand(string command, params object[] value) { DB2Command comm = new DB2Command(); comm.Connection = _conn; comm.CommandText = command; comm.CommandTimeout = base.CommandTimeout; if (value.Length > 0) { List <object> paramsList = GetParamsList(value); //SQL语句/命令中参数 用“?”符号占位 string[] temp = command.Split('?'); if (temp.Length - 1 != paramsList.Count) { throw new Exception("参数数量不正确!"); } for (int i = 0; i < paramsList.Count; i++) { temp[i] = temp[i] + "@p" + (i + 1).ToString(); //判断是否为null if (paramsList[i] == null) { comm.Parameters.Add("p" + (i + 1).ToString(), DBNull.Value); } else { comm.Parameters.Add("@p" + (i + 1).ToString(), paramsList[i]);//.ToString() } } comm.CommandText = string.Join("", temp); } return(comm); }
/// <summary> /// 将db2Parameter参数数组(参数值)分配给db2Command命令. /// 这个方法将给任何一个参数分配DBNull.Value; /// 该操作将阻止默认值的使用. /// </summary> /// <param name="command">命令名</param> /// <param name="commandParameters">DB2Parameters数组</param> private static void AttachParameters(DB2Command command, DB2Parameter[] commandParameters) { if (command == null) { throw new ArgumentNullException("command"); } if (commandParameters != null) { foreach (DB2Parameter p in commandParameters) { if (p != null) { // 检查未分配值的输出参数,将其分配以DBNull.Value. if ((p.Direction == ParameterDirection.InputOutput || p.Direction == ParameterDirection.Input) && (p.Value == null)) { p.Value = DBNull.Value; } command.Parameters.Add(p); } } } }
private void eliminarFKToolStripMenuItem_Click(object sender, EventArgs e) { DB2Connection connection = obtenerConexion(arbol_conexiones.SelectedNode.Parent.Parent.Parent.Text); try { connection.Open(); DB2Command cmd = new DB2Command(@"select tabname from syscat.references where constname = '" + arbol_conexiones.SelectedNode.Text + "';", connection); DB2DataReader buffer = cmd.ExecuteReader(); while (buffer.Read()) { var nombre_tabla = buffer ["TABNAME"].ToString(); buffer.Close(); cmd.CommandText = "ALTER TABLE " + nombre_tabla + " DROP FOREIGN KEY " + arbol_conexiones.SelectedNode.Text + ";"; cmd.ExecuteNonQuery(); break; } MessageBox.Show("Llave Foranea borrada correctamente!\n"); } catch (DB2Exception ex) { MessageBox.Show("Error al borrar Check!\n" + ex.Message); } connection.Close(); }
private void eliminarPKToolStripMenuItem_Click(object sender, EventArgs e) { DB2Connection connection = obtenerConexion(arbol_conexiones.SelectedNode.Parent.Parent.Parent.Text); try { connection.Open(); DB2Command cmd = new DB2Command(@"select tab.tabname from syscat.tables tab inner join syscat.tabconst const on const.tabschema = tab.tabschema and const.tabname = tab.tabname and const.type = 'P' join syscat.keycoluse key on const.tabschema = key.tabschema and const.tabname = key.tabname and const.constname = '" + arbol_conexiones.SelectedNode.Text + "' where tab.type = 'T' and tab.tabschema like 'DB2ADMIN' group by tab.tabschema, const.constname, tab.tabname order by tab.tabschema, const.constname;", connection); DB2DataReader buffer = cmd.ExecuteReader(); while (buffer.Read()) { var nombre_tabla = buffer ["TABNAME"].ToString(); buffer.Close(); cmd.CommandText = "ALTER TABLE " + nombre_tabla + " DROP PRIMARY KEY;"; cmd.ExecuteNonQuery(); break; } MessageBox.Show("Llave Primaria borrada correctamente!\n"); } catch (DB2Exception ex) { MessageBox.Show("Error al borrar Check!\n" + ex.Message); } connection.Close(); }
private void button7_Click(object sender, EventArgs e) { PantallaPrincipal pn = new PantallaPrincipal(); DB2Connection connection = pn.obtenerConexion(arbol.SelectedNode.Parent.Parent.Text); try { connection.Open(); if (checkBox1.Checked) { DB2Command cmd = new DB2Command("ALTER TABLE " + arbol.SelectedNode.Text + " ADD PRIMARY KEY (" + nombre_campo + ");", connection); cmd.ExecuteNonQuery(); } else { DB2Command cmd = new DB2Command("ALTER TABLE " + arbol.SelectedNode.Text + " DROP PRIMARY KEY ", connection); cmd.ExecuteNonQuery(); } MessageBox.Show("Campo modificado"); } catch (DB2Exception ex) { MessageBox.Show("Error al modificar\n" + ex.Message); } connection.Close(); }
private void button5_Click(object sender, EventArgs e) { PantallaPrincipal pn = new PantallaPrincipal(); DB2Connection connection = pn.obtenerConexion(arbol.SelectedNode.Parent.Parent.Text); try { connection.Open(); if (escala.Enabled) { DB2Command cmd = new DB2Command("ALTER TABLE " + arbol.SelectedNode.Text + " ALTER COLUMN " + nombre_campo + " SET DATA TYPE " + dato.SelectedItem.ToString() + " (" + tamano.Text + "," + escala.Text + ");", connection); cmd.ExecuteNonQuery(); } else { DB2Command cmd = new DB2Command("ALTER TABLE " + arbol.SelectedNode.Text + " ALTER COLUMN " + nombre_campo + " SET DATA TYPE " + dato.SelectedItem.ToString() + " (" + tamano.Text + ");", connection); cmd.ExecuteNonQuery(); } MessageBox.Show("Campo modificado"); } catch (DB2Exception ex) { MessageBox.Show("Error al modificar\n" + ex.Message); } connection.Close(); }
public bool RecordExist(string sql) { bool exist = false; DB2Command command = new DB2Command(); DB2Connection con = OpenConnection(); command.Connection = con; AdministradorCarpetasRegistro.GrabarLogs(TipoRegistro.Actividad, sql, null, string.Empty); command.CommandText = sql; try { DB2DataReader db2dr = command.ExecuteReader(); exist = db2dr.Read(); db2dr.Close(); // <Observacion> } catch (Exception e) { exceptions += e.ToString() + cambioLinea; AdministradorCarpetasRegistro.GrabarLogs(TipoRegistro.Error, sql, e, exceptions); } CloseConnection(con); return(exist); }