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