Ver Mensaje Individual
  #5 (permalink)  
Antiguo 19/06/2014, 11:29
Avatar de Ausberto
Ausberto
 
Fecha de Ingreso: octubre-2005
Mensajes: 27
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: registros duplicados

alguna idea para corregir el diseño algun administrador de mysql que me permita hacer esta tarea estoy tratando de controlarlo con procedimientos almacenados pero no logro salir de esto:


CREATE DEFINER=`root`@`%` PROCEDURE `guardar`(in pidv bigint, in pnt int, in pccon varchar(50), in pidcli varchar(30), in pfecha Date, in phora varchar(15), in ptipov varchar(20), in pcajera varchar(30) , in ptotalc Double, in pbs Double, in psus Double, in pcambio Double, in pnauto varchar(30), in psenor varchar(50), in pidalm int, in pdescu Double, in predon Double, in pip varchar(40), in pabonox Double, in psaldo Double, in pflim Date, in pidos Int, in ptipoc Double, in pntar varchar(50), in pvtat varchar(5), in pentrega Double)
BEGIN
DECLARE num INT;
SELECT COUNT(*) INTO 'num' FROM t_venta WHERE idv =pidv AND idos = pidos AND vtat ='F';
if num = 0 THEN
INSERT INTO t_venta(idv, nt, ccon, idcli, fecha, hora, tipov, cajera, totalc, bs, sus, cambio, nauto, senor, idalm, descu, redon, ip, abonox, saldo, flim, idos, tipoc, ntar, vtat, entrega) VALUES (pidv, pnt, pccon, pidcli, pfecha, phora, ptipov, pcajera, ptotalc, pbs, psus, pcambio, pnauto, psenor, pidalm, pdescu, predon, pip, pabonox, psaldo, pflim, pidos, ptipoc, pntar, pvtat, pentrega);
END if;
call existe(pidv, pidos, pnt);
END;


bueno ese es mi proced y lo llamo asi

Código:
Dim cmd As New MySqlCommand("guardar", Con)
            Dim XX As String

            cmd.CommandType = CommandType.StoredProcedure
            cmd.Parameters.AddWithValue("?pidv", v1)
            cmd.Parameters.AddWithValue("?pnt", v2)
            cmd.Parameters.AddWithValue("?pccon", v3)
            cmd.Parameters.AddWithValue("?pidcli", v4)
            cmd.Parameters.AddWithValue("?pfecha", v5)
            cmd.Parameters.AddWithValue("?phora", v6)
            cmd.Parameters.AddWithValue("?ptipov", v7)
            cmd.Parameters.AddWithValue("?pcajera", v8)
            cmd.Parameters.AddWithValue("?ptotalc", v9)
            cmd.Parameters.AddWithValue("?pbs", v10)
            cmd.Parameters.AddWithValue("?psus", v11)
            cmd.Parameters.AddWithValue("?pcambio", v12)
            cmd.Parameters.AddWithValue("?pnauto", v13)
            cmd.Parameters.AddWithValue("?psenor", v14)
            cmd.Parameters.AddWithValue("?pidalm", v15)
            cmd.Parameters.AddWithValue("?pdescu", v16)
            cmd.Parameters.AddWithValue("?predon", v17)
            cmd.Parameters.AddWithValue("?pip", v18)
            cmd.Parameters.AddWithValue("?pabonox", v19)
            cmd.Parameters.AddWithValue("?psaldo", v20)
            cmd.Parameters.AddWithValue("?pflim", v21)
            cmd.Parameters.AddWithValue("?pidos", v22)
            cmd.Parameters.AddWithValue("?ptipoc", v23)
            cmd.Parameters.AddWithValue("?pntar", v24)
            cmd.Parameters.AddWithValue("?pvtat", v25)
            cmd.Parameters.AddWithValue("?pentrega", v26)

            cmd.ExecuteNonQuery()
            'XX = cmd.Parameters.Item(2).Value
            XX = Convert.ToInt32(cmd.ExecuteScalar())
            If XX > 0 Then
                Return True
            Else
                Return False
            End If
quia parezca uy primitivo pero ahi el vamos dando duro saludos