Quantcast
Channel: No me funciona el Update
Viewing all articles
Browse latest Browse all 32

No me funciona el Update

$
0
0

hola

esta en el

mCB = New SqlCommandBuilder(mDA)

usa el SqlCommandBuilder para generar los comando de actualizacion del dataadapter


Leandro Tuttini

Blog
Buenos Aires
Argentina

Hola,

La verdad que lo primero es pedir perdón, puesto que en la vida he utilizado SqlCommandBuilder. 

Pero después de probarlo la verdad es que te voy a dar un par de consejos no a tí sino a todo el foro y prometo que cada vez que me encuentre con SqlCommandBuilder voy a hacer referencia a este hilo :).

1. Si el proyecto es para ponerlo en producción tíralo a la papelera de reciclaje.

2.Si el proyecto es para estudiar, que te quede claro un tema, nunca hagas las cosas así y por supuesto tiralo a la papelera de reciclaje.

3. Olvidate de SqlCommandBuilder.

 

Es intolerable que una instrucción update se genere de esta forma para una tabla de 53 campos.

La muestro

exec sp_executesql 
N'UPDATE [clientes] SET [CLIE_DESCRIPCION] = @p1 
WHERE (([CLIE_ID] = @p2) 
AND ([CLIE_DESCRIPCION] = @p3) 
AND ([CLIE_RAZONSOCIAL] = @p4) AND ([CLIE_NIF] = @p5) AND ([CLIE_DIRECCION] = @p6) AND ([CLIE_CP] = @p7) AND ([CLIE_POBLACION] = @p8) AND ([CLIE_PROVINCIA] = @p9) AND ([PAIS_ID] = @p10) AND ([CLIE_TELEFONO] = @p11) AND ([CLIE_TELEFONO1] = @p12) AND ([CLIE_MOVIL] = @p13) AND ([CLIE_FAX] = @p14) AND ([CLIE_EMAIL] = @p15) AND ([CLIE_WEB] = @p16) AND ([CLIE_EAN] = @p17) AND ((@p18 = 1 AND 
[TICLI_ID] IS NULL) OR ([TICLI_ID] = @p19)) AND ([GRCU_ID] = @p20) AND ((@p21 = 1 AND [ESTAR_ID] IS NULL) OR ([ESTAR_ID] = @p22)) AND ((@p23 = 1 AND [TIFAC_ID] IS NULL) OR 
([TIFAC_ID] = @p24)) AND ((@p25 = 1 AND [IDIOMA_ID] IS NULL) OR ([IDIOMA_ID] = @p26)) AND ([MONEDA_ID] = @p27) AND ((@p28 = 1 AND [GRDE_ID] IS NULL) OR ([GRDE_ID] = @p29)) AND 
((@p30 = 1 AND [CLIE_RECFIN] IS NULL) OR ([CLIE_RECFIN] = @p31)) AND ((@p32 = 1 AND [IRPF_ID] IS NULL) OR ([IRPF_ID] = @p33)) AND ((@p34 = 1 AND [FPAGO_ID] IS NULL) OR 
([FPAGO_ID] = @p35)) AND ((@p36 = 1 AND [BANC_ID] IS NULL) OR ([BANC_ID] = @p37)) AND ([CLIE_ENTIDAD] = @p38) AND ([CLIE_DIRPAGO] = @p39) AND ([CLIE_BANCO] = @p40) AND 
([CLIE_SUCURSAL] = @p41) AND ([CLIE_DC] = @p42) AND ([CLIE_CC] = @p43) AND ([CLIE_DIASDP] = @p44) AND ([CLIE_RIESGO] = @p45) AND ((@p46 = 1 AND [TIRI_ID] IS NULL) OR ([TIRI_ID] = 
@p47)) AND ((@p48 = 1 AND [TIPORT_ID] IS NULL) OR ([TIPORT_ID] = @p49)) AND ([CLIE_ENTREGA] = @p50) AND ((@p51 = 1 AND [CLIE_ID1] IS NULL) OR ([CLIE_ID1] = @p52)) AND ((@p53 = 1 
AND [CLIE_ID2] IS NULL) OR ([CLIE_ID2] = @p54)) AND ([ZONA_ID] = @p55) AND ((@p56 = 1 AND [RUTA_ID] IS NULL) OR ([RUTA_ID] = @p57)) AND ([CLIE_DIA1] = @p58) AND ([CLIE_DIA2] = 
@p59) AND ([CLIE_DIA3] = @p60) AND ([CLIE_DIA4] = @p61) AND ((@p62 = 1 AND [TARF_ID] IS NULL) OR ([TARF_ID] = @p63)) AND ((@p64 = 1 AND [PERFCL_ID] IS NULL) OR ([PERFCL_ID] = 
@p65)) AND ((@p66 = 1 AND [TIOP_ID] IS NULL) OR ([TIOP_ID] = @p67)) AND ((@p68 = 1 AND [CLIE_FECHAALTA] IS NULL) OR ([CLIE_FECHAALTA] = @p69)) AND ((@p70 = 1 AND [CLIE_FECHABAJA] IS NULL) OR ([CLIE_FECHABAJA] = @p71)) AND ((@p72 = 1 AND [MOTIVOS_ID] IS NULL) OR ([MOTIVOS_ID] = @p73)))',N'@p1 varchar(4),@p2 int,@p3 varchar(21),@p4 varchar(21),@p5 varchar(8000),@p6 varchar(11),@p7 varchar(8000),@p8 varchar(8),@p9 varchar(6),@p10 varchar(2),@p11 varchar(8000),@p12 varchar(1),@p13 varchar(10),@p14 varchar(1),@p15 varchar(1),@p16 varchar(8000),@p17 varchar(8000),@p18 int,@p19 int,@p20 int,@p21 int,@p22 varchar(8000),@p23 int,@p24 int,@p25 int,@p26 varchar(8000),@p27 varchar(3),@p28 int,@p29 int,@p30 int,@p31 int,@p32 int,@p33 int,@p34 int,@p35 int,@p36 int,@p37 int,@p38 varchar(8000),@p39 varchar(8000),@p40 smallint,@p41 smallint,@p42 smallint,@p43 varchar(8000),@p44 smallint,@p45 decimal(12,2),@p46 int,@p47 varchar(8000),@p48 int,@p49 varchar(1),@p50 smallint,@p51 int,@p52 int,@p53 int,@p54 int,@p55 varchar(2),@p56 int,@p57 varchar(8000),@p58 smallint,@p59 smallint,@p60 smallint,@p61 smallint,@p62 int,@p63 int,@p64 int,@p65 int,@p66 int,@p67 varchar(3),@p68 int,@p69 varchar(8000),@p70 int,@p71 varchar(8000),@p72 int,@p73 varchar(8000)',@p1='Hola',@p2=2,@p3='AMALIO MADRID GUILLEN',@p4='AMALIO MADRID GUILLEN',@p5='',@p6='SAN ROQUE-5',@p7='',@p8='BALSICAS',@p9='MURCIA',@p10='ES',@p11='',@p12=' ',@p13='968-580150',@p14=' ',@p15=' ',@p16='',@p17='',@p18=1,@p19=NULL,@p20=1,@p21=1,@p22=NULL,@p23=1,@p24=NULL,@p25=1,@p26=NULL,@p27='EUR',@p28=1,@p29=NULL,@p30=1,@p31=NULL,@p32=1,@p33=NULL,@p34=0,@p35=12,@p36=1,@p37=NULL,@p38='',@p39='',@p40=0,@p41=0,@p42=0,@p43='',@p44=0,@p45=0.00,@p46=1,@p47=NULL,@p48=0,@p49='P',@p50=0,@p51=1,@p52=NULL,@p53=1,@p54=NULL,@p55='TR',@p56=1,@p57=NULL,@p58=0,@p59=0,@p60=0,@p61=0,@p62=1,@p63=NULL,@p64=1,@p65=NULL,@p66=0,@p67='C13',@p68=1,@p69=NULL,@p70=1,@p71=NULL,@p72=1,@p73=NULL

y ademas falla el numero de registros modificados es 0.

Y yo que me quejaba de EF.  

Ribe61 termina con esto, soluciona si quieres lo de la conexion, pero de verdad hazme caso.Esto es una locura.

 

Perdonad que critique de forma positiva a los que respondemos preguntas. Esto no se puede solucionar sino es así

Mira Sql Server Profiler y veras lo que pasa.

Saludos,

 


phurtado

Viewing all articles
Browse latest Browse all 32

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>