none
Eliminar registros de access con 2 datos en c#

    Pregunta

  • Hola, estoy haciendo una aplicacion desktop con visual studio 2010, programando en c# y quiero eliminar registros de una base de datos access con 2 datos. 

    string CnnStr = @" Provider=Microsoft.ACE.OLEDB.12.0; etc...

    void miProced (string prmCod, int prmCant)

    OleDbConnection MyConnection = new OleDbConnection(CnnStr); (tengo q agregar el prametro prmCant)
                                OleDbCommand CommandQuery = new OleDbCommand("DELETE * FROM Stock WHERE codigo ='" + prmCod + "'", MyConnection);
                                OleDbDataAdapter delete = new OleDbDataAdapter();
                                MyConnection.Open();
                                delete.DeleteCommand = CommandQuery;
                                delete.DeleteCommand.ExecuteNonQuery();
                                MyConnection.Close();

    la idea es q con 2 datos q indique el usuario borre un registro, ya que va a almacenar datos similares y si le paso un solo dato borra todos los registros. espero haberme hecho entender.

    Saludos y desde ya muchas gracias si me pueden dar una mano con esto. 

    jueves, 09 de mayo de 2013 17:26

Respuestas

  • hola

    podrias usar

    using(OleDbConnection MyConnection = new OleDbConnection(CnnStr))
    {
    	MyConnection.Open();
    	
    	string query = "DELETE * FROM Stock WHERE codigo = @codigo AND campo = @param"
    	OleDbCommand CommandQuery = new OleDbCommand(query, MyConnection);
    	CommandQuery.Prameters.AddWithValue("@codigo", prmCod);
    	CommandQuery.Prameters.AddWithValue("@param", valor);
    
    	CommandQuery.ExecuteNonQuery();
    }

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta nhor jueves, 09 de mayo de 2013 18:44
    jueves, 09 de mayo de 2013 17:32
  • Hola:

     ESte es un ejemplo que te servira de guia para que usea parametros en tu consulta:

    Private void DeleteData()

    { Try { Using(OleDbConnection cnx As New OleDbConnection("PROVIDER=MICROSOFT.ACE.OLEDB.12.0; DATA SOURCE=C:\NombreBD.accdb")) { string SqlActions = "DELETE * FROM Tutabla WHERE Campo1 = @parametro AND Campo2 = @parametro2"; OleDbCommand cmd = New OleDbCommand(SqlActions, Cnx); cmd.Parameters.AddWithValue("@parametro", TextBox1.text); cmd.Parameters.AddWithValue("@parametro2", TextBox2.text); cmd.ExecuteNonQuery(); } } Catch(Exception ex) { MessageBox.Show(Ex.Message); } }



    Saludos desde Monterrey, Nuevo León, México!!!




    • Editado Luis_Escobar jueves, 09 de mayo de 2013 17:39
    • Marcado como respuesta nhor jueves, 09 de mayo de 2013 18:44
    jueves, 09 de mayo de 2013 17:34

Todas las respuestas

  • hola

    podrias usar

    using(OleDbConnection MyConnection = new OleDbConnection(CnnStr))
    {
    	MyConnection.Open();
    	
    	string query = "DELETE * FROM Stock WHERE codigo = @codigo AND campo = @param"
    	OleDbCommand CommandQuery = new OleDbCommand(query, MyConnection);
    	CommandQuery.Prameters.AddWithValue("@codigo", prmCod);
    	CommandQuery.Prameters.AddWithValue("@param", valor);
    
    	CommandQuery.ExecuteNonQuery();
    }

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta nhor jueves, 09 de mayo de 2013 18:44
    jueves, 09 de mayo de 2013 17:32
  • Hola:

     ESte es un ejemplo que te servira de guia para que usea parametros en tu consulta:

    Private void DeleteData()

    { Try { Using(OleDbConnection cnx As New OleDbConnection("PROVIDER=MICROSOFT.ACE.OLEDB.12.0; DATA SOURCE=C:\NombreBD.accdb")) { string SqlActions = "DELETE * FROM Tutabla WHERE Campo1 = @parametro AND Campo2 = @parametro2"; OleDbCommand cmd = New OleDbCommand(SqlActions, Cnx); cmd.Parameters.AddWithValue("@parametro", TextBox1.text); cmd.Parameters.AddWithValue("@parametro2", TextBox2.text); cmd.ExecuteNonQuery(); } } Catch(Exception ex) { MessageBox.Show(Ex.Message); } }



    Saludos desde Monterrey, Nuevo León, México!!!




    • Editado Luis_Escobar jueves, 09 de mayo de 2013 17:39
    • Marcado como respuesta nhor jueves, 09 de mayo de 2013 18:44
    jueves, 09 de mayo de 2013 17:34
  • Muchas gracias, me fue muy util su aporte y pude resolver lo que necesitaba. saludos
    jueves, 09 de mayo de 2013 18:45
  • Muchas gracias, me fue muy util su aporte y pude resolver lo que necesitaba. saludos
    jueves, 09 de mayo de 2013 18:45