elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  [SOLUCIONADO] Problema con Eliminar 1 registro de la base de datos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [SOLUCIONADO] Problema con Eliminar 1 registro de la base de datos  (Leído 1,991 veces)
kannalla

Desconectado Desconectado

Mensajes: 8


Ver Perfil
[SOLUCIONADO] Problema con Eliminar 1 registro de la base de datos
« en: 5 Noviembre 2009, 02:08 am »

bueno mi problema es el siguiente... este codigo que hize funciona 100% pero hay un detalle que no me gusta y no cacho como sacarlo.. tengo una clase persona y lo llamo desde mi frmEliminar .

el problema es el siguiente.. yo para eliminar, mi sistema me exige que tenga un txtclave.text y txttipo.text (texbox1) en el formulario.

y todos sabemos que para eliminar un registro no es necesario colocar su clave y tipo , basta con el nombre o rut y listo. pero en mi caso si le saco los txtclave.text y txttipo.text no me corre y me tira errores...
alguien me puede decir donde esta el detalle para poder sacar de mi formulario los textbox


CODIGO DE LA CLASE
Código:
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports System.Data.SqlClient
Imports System.Data
Imports Auditoria_de_impresion

Public Class clasePersona

    Public Sub New(ByVal perNombre As String, ByVal perContraseña As String, ByVal perTipo As Integer)
        Dim usuNombre As String
        Dim usuClave As String
        Dim usuTipo As Integer
        usuNombre = perNombre
        usuClave = perContraseña
        usuTipo = perTipo

    End Sub

Dim conexion As String = "Data Source=localhost\SQLExpress;Initial Catalog=BDIMPRESION;database = usuario; trusted_connection = yes;Integrated Security = True; User Instance=True"

 Public Function eliminarUsuario(ByVal usuario As String, ByVal clave As String, ByVal tipo As Integer) As Boolean
        Dim cn As New SqlClient.SqlConnection(conexion)
        Dim cmd As New SqlClient.SqlCommand("Delete from usuarios Where perNombre = '" & usuario & "' ", cn)
        Dim valor As Integer
        Try
            If cn.State = ConnectionState.Closed Then
                cn.Open()
            End If
            valor = cmd.ExecuteNonQuery()
            MsgBox("Usuario Eliminado del Sistema ", MsgBoxStyle.Information)
        Finally
            cn.Close()
        End Try
        Return valor
    End Function

CODIGO DEL FORM

Código:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim clasePersona As clasePersona = New clasePersona(txtEliminar.Text, txtclave.Text, txttipo.Text)
        clasePersona.eliminarUsuario(txtEliminar.Text, txtclave.Text, txttipo.Text)


        'If MsgBox("Desea Eliminar al Usuario", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Eliminar") = MsgBoxResult.Yes Then

        ' End If
    End Sub


« Última modificación: 5 Noviembre 2009, 20:40 pm por Hadess_inf » En línea

seba123neo


Desconectado Desconectado

Mensajes: 3.621


"No quiero creer, quiero saber" - Carl Sagan


Ver Perfil WWW
Re: Problema con Eliminar 1 registro de la base de datos
« Respuesta #1 en: 5 Noviembre 2009, 02:19 am »

Hola, seria bueno que digas que error te esta tirando y en que parte del codigo...mira veo varias cosas que podes mejorar, una es que la clase deberia tener sus propiedades o sea los Get y Set...la otra es que no es bueno estar conectandose y desconectandose a cada rato, te conectas una sola vez a la base y listo despues manejas esa conexion como publica y listo la usas en cualquier lado, pero no estar haciendo el .Open a cada rato...lo haces una vez y ya esta, lo mismo para las clases, las deberias declarar una sola vez como publicas y usar ese objeto en todo el proyecto cuando te de la gana, y no estar creando a cada rato la clase.un registro se borra principalmete por su ID que lo identifica y debe ser unico, ahi estas borrando por nombre y si por casualidad hay 2 personas con el mismo nombre te las borra todas..debes usar el ID, no el nombre.

saludos.


En línea

La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson
kannalla

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Problema con Eliminar 1 registro de la base de datos
« Respuesta #2 en: 5 Noviembre 2009, 15:37 pm »

ahora puedo eliminar sin que tenga que agregar los textbox de contraseña y de tipo... ahora solo con el nombre y listo.

Gracias amigo Seba tuve que hacerle algunos cambios deacuerdo a tus criticas del codigo... bueno no soy tan experto en visual.. de a poquito me estoy puliendo jejjejee  aca el codigo 100% operativo


SOLUCION PARA LOS QUE LO QUIERAN:

Código:

Public Class clasePersona

    Public Sub New(ByVal perNombre As String, ByVal perContraseña As String, ByVal perTipo As Integer)
        Dim Nombre As String
        Dim Clave As String
        Dim Tipo As Integer
        Nombre = perNombre
        Clave = perContraseña
        Tipo = perTipo

    End Sub


 Public Function eliminarUsuario(ByVal usuario As String) As Boolean
        Dim cn As New SqlClient.SqlConnection(conexion)
        Dim cmd As New SqlClient.SqlCommand("Delete from usuarios Where perNombre = '" & usuario & "' ", cn)
        Dim valor As Integer
        Try
            If cn.State = ConnectionState.Closed Then
                cn.Open()
            End If
            valor = cmd.ExecuteNonQuery()
            MsgBox("Usuario Eliminado del Sistema ", MsgBoxStyle.Information)
        Finally
            cn.Close()
        End Try
        Return valor
    End Function


Código:

Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim clasePersona As clasePersona = New clasePersona("usuario", "clave", tipo)

        clasePersona.eliminarUsuario(txtNombre.Text)

    End Sub

En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problemas para importar una base de datos [SOLUCIONADO]
Bases de Datos
aldg 3 4,460 Último mensaje 1 Mayo 2011, 15:48 pm
por aldg
[Solucionado]Ejemplo base de datos
Bases de Datos
Trane! 3 3,455 Último mensaje 24 Julio 2011, 01:18 am
por Trane!
Por php se puede deshabilitar un registro de una base de datos??
PHP
gh1E 7 6,982 Último mensaje 17 Abril 2013, 22:50 pm
por gh1E
Problema con actualización de datos [Solucionado]
.NET (C#, VB.NET, ASP)
darknlee 1 1,066 Último mensaje 22 Enero 2014, 19:26 pm
por darknlee
[Pregunta]: Eliminar un sólo registro de mi base de datos
Desarrollo Web
MiguelCanellas 3 406 Último mensaje 4 Agosto 2019, 04:27 am
por MiguelCanellas
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines