Foros del Web » Programando para Internet » ASPX (.net) »

Problema al actualizar un registro desde asp

Estas en el tema de Problema al actualizar un registro desde asp en el foro de ASPX (.net) en Foros del Web. Hola tengo un problema hice un pequeño programita para alamacenar algunos registros en una base de datos de oracle, Hace Inserts,Selects y Deletes el problema ...
  #1 (permalink)  
Antiguo 27/11/2009, 17:12
 
Fecha de Ingreso: noviembre-2007
Mensajes: 504
Antigüedad: 16 años, 5 meses
Puntos: 2
Problema al actualizar un registro desde asp

Hola tengo un problema hice un pequeño programita para alamacenar algunos registros en una base de datos de oracle, Hace Inserts,Selects y Deletes el problema es que cuando quiero actualizar un registro me da error, para actualizarlo tengo un campo numerico llamado clabe el cual es llave primaria:
Código:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;


public partial class _Default : System.Web.UI.Page
{
    AccesoDatos ad = new AccesoDatos();
    DataSet ds = new DataSet();
    protected void Page_Load(object sender, EventArgs e)
    {
    

    }
    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {

    }
    protected void TextBox2_TextChanged(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)//Insertar Datos <====
    {
        int.Parse(TextBox7.Text);
        string sqlcad = "insert into cg_personas(nombre,estado,ciudad,clabe) VALUES('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "',"+TextBox7.Text+")";
        int ejecutar = ad.ejecutar(sqlcad);
      
        if (ejecutar > 0)
        {
            
            Label1.Text = "Se grabaron los datos";
        }
        else
        {
        Label1.Text="NO SE GRABARON LOS DATOS";
        }

    }
    protected void Button2_Click(object sender, EventArgs e)//Mostrar datos <===
    {
        string sqlcad = "SELECT * FROM cg_personas";
        ds = ad.consultarDS(sqlcad);
        GridView1.DataSource = ds.Tables[0];
        GridView1.DataBind();
    }
    protected void Button3_Click(object sender, EventArgs e)//Eliminar Datos <===
    {
       // int.Parse(TextBox7.Text);
        string sqlcad="DELETE FROM cg_personas WHERE clabe="+TextBox7.Text+"";
        ds = ad.consultarDS(sqlcad);
        int ejecutar = ad.ejecutar(sqlcad);
        if (ejecutar > 0)
        {
            Label1.Text = "Se elimino correctamente!";
        }
        else 
        {
            Label1.Text = "NO SE PUEDO ELIMINAR";
        }
     
    }


    protected void Button4_Click(object sender, EventArgs e)//Actualizar Datos <===
    {
        int.Parse(TextBox7.Text);
        string sqlcad="UPDATE FROM cg_personas SET nombre='"+TextBox1.Text+"',estado='"+TextBox2.Text+"',ciudad='"+TextBox3.Text+"' WHERE clabe="+int.Parse(TextBox7.Text)+"";
        ds = ad.consultarDS(sqlcad);
        int ejecutar = ad.ejecutar(sqlcad);
        if (ejecutar > 0)
        {
            Label1.Text = "Se actualizaron los datos";
        }
        else 
        {
            Label1.Text = "No se puedo actualizar";
        }
    }
}
Cuando intento actualizar un registro mr dice el mensaje que puse en la consulta: NOSE PUEDE ACTUALIZAR.
la clase quee stoy usando es:
Código:
using System;
using System.Data;
using System.Collections.Generic;
using System.Data.Odbc;
using System.Text;
using System.Data.OracleClient;
using System.Diagnostics;


public class AccesoDatos
{
    private string connString = "Data Source=127.0.0.1/XE; User Id=SYSTEM; Password=placabase;";
    private OracleConnection con = new OracleConnection();
    public void conectar()
    {
        try
        {
            con.ConnectionString = connString;
            con.Open();
        }
        catch (Exception e)
        {
            Trace.WriteLine(e.ToString());
        }
    }
    public void desconectar()
    {
        try
        {
            con.Close();
        }
        catch (Exception e)
        {
            Trace.WriteLine(e.ToString());
        }
    }

    public int ejecutar(string sqlCad)
    {
        int resultado = 0;
        try
        {
            conectar();
            //OdbcCommand comando = new OdbcCommand(sqlCad, con);
            OracleCommand comando = new OracleCommand(sqlCad, con);
            resultado = comando.ExecuteNonQuery();
        }
        catch (Exception e)
        {
            Trace.WriteLine(e.ToString());
        }
        finally
        {
            desconectar();
        }
        return resultado;
    }

    public DataSet consultarDS(string sqlcad)
    {
        DataSet resultado = new DataSet();
        try
        {
            conectar();
            //OdbcDataAdapter da = new OdbcDataAdapter(sqlcad, con);
            OracleDataAdapter da = new OracleDataAdapter(sqlcad, con);
            da.Fill(resultado);
        }
        catch (Exception e)
        {
            Trace.WriteLine(e.ToString());
        }
        return resultado;
    }

    public bool datoInsertado(string dato, string nombreTabla, string nombreCampo, string tipoCampo)
    {
        DataSet ds = new DataSet();
        string sqlCad = "";
        bool insertado = false;
        if (tipoCampo == "numerico")
        {
            sqlCad = "select * from " + nombreTabla + " where " + nombreCampo + "=" + dato + "";
        }
        else
        {
            sqlCad = "select * from " + nombreTabla + " where " + nombreCampo + "='" + dato + "'";
        }
        ds = consultarDS(sqlCad);
        if (ds.Tables.Count > 0)
        {
            if (ds.Tables[0].Rows.Count > 0)
            {
                insertado = true;
            }
        }
        return insertado;
    }


    public bool datoInsertado2(string dato, string dato2, string nombreTabla, string nombreCampo, string nombreCampo2, string tipoCampo, string tipoCampo2)
    {
        DataSet ds = new DataSet();
        string sqlCad = "";
        bool insertado = false;
        if ((tipoCampo == "numerico") && (tipoCampo2 == "numerico"))
        {
            sqlCad = "select * from " + nombreTabla + " where " + nombreCampo + "=" + dato + " and " + nombreCampo2 +
               "=" + dato2;
        }
        else if ((tipoCampo == "numerico") && (tipoCampo2 != "numerico"))
        {
            sqlCad = "select * from " + nombreTabla + " where " + nombreCampo + "=" + dato + " and " + nombreCampo2 +
               "='" + dato2 + "'";
        }
        else if ((tipoCampo != "numerico") && (tipoCampo2 == "numerico"))
        {
            sqlCad = "select * from " + nombreTabla + " where " + nombreCampo + "='" + dato + "' and " + nombreCampo2 +
               "=" + dato2;
        }
        else
        {
            sqlCad = "select * from " + nombreTabla + " where " + nombreCampo + "='" + dato + "' and " + nombreCampo2 +
                "='" + dato2 + "'";
        }
        ds = consultarDS(sqlCad);
        if (ds.Tables.Count > 0)
        {
            if (ds.Tables[0].Rows.Count > 0)
            {
                insertado = true;
            }
        }
        return insertado;
    }
}
Me pudieran decir si ven algo mal? :(
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:50.