Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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();
        }
Esempio n. 6
0
 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));
 }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        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();
        }
Esempio n. 9
0
 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!");
     }
 }
Esempio n. 10
0
        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();
        }
Esempio n. 11
0
        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);
        }
Esempio n. 12
0
        /// <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;
        }
Esempio n. 13
0
        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);
        }
Esempio n. 14
0
        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();
        }
Esempio n. 15
0
        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);
        }
Esempio n. 16
0
        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;
                }
            }
        }
Esempio n. 17
0
        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();
                }
            }
        }
Esempio n. 18
0
        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);
        }
Esempio n. 19
0
        /// <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();
        }
Esempio n. 20
0
        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);
        }
Esempio n. 21
0
        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();
                    }
                }
            }
        }
Esempio n. 22
0
        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);
        }
Esempio n. 23
0
        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);
        }
Esempio n. 24
0
        /// <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);
        }
Esempio n. 25
0
        /// <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);
                    }
                }
            }
        }
Esempio n. 26
0
        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();
        }
Esempio n. 27
0
        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();
        }
Esempio n. 28
0
        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();
        }
Esempio n. 29
0
        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();
        }
Esempio n. 30
0
        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);
        }