Duda conceptual

01/01/2006 - 17:20 por Cid | Informe spam
Tengo una tabla en sql server articulos con un campo clave IdArt si hago
este campo identidad y autoincrementable el tableadapter generado no me da
las acciones delete y update ?¿
El caso es que opte por marcarlo int y clave en sql server pero luego en la
tabla arratrada al dataset le pongo a IdArt la opcion AutoIncrement a true y
todo parace ir bien, genera delete y update etc.
Mi pregunta es, ¿Esta manera de trabajar es correcta o puede dar problemas?
 

Leer las respuestas

#1 Julio Casal
02/01/2006 - 06:11 | Informe spam
Qué tal Cid. Pues solo te recomendaría no confundas el autoincremento del
tipo identity en SQL Server con el autoincremento en los Datasets. Son dos
cosas diferentes. Cuando le marcas identity a una columna de SQL Server
aquello no tiene ningún efecto sobre el dataset hacia el cual arrastres la
tabla. Es decir, los autoincrementos en el dataset se darán a medida que
agregues registros al dataset, ya sea desde la base o desde tu pantalla, pero
ese autoincremento es completamente independiente de la BD.

Yo al menos no suelo usar el autoincremento en los datasets pues, como te
digo, SQL Server nunca lo toma en cuenta, lo cual está muy bien por cierto,
por temas de concurrencia. Yo lo que hago en estos casos es actualizar el
dataset en la BD mediante el método Fill del DataAdapter y luego extraigo el
identity como parámetro de salida del procedimiento almacenado que realiza la
actualización. Una vez extraido el valor (simplemente lo tomo del
SQLParameter correspondiente en el command de Inserción o Actualización) lo
coloco en la fila correspondiente del dataset ó lo retorno desde mi función
de acutalización en mi componente de negocio para que la pantalla lo tome.

Espero haber podido ayudarte.

Saludos,
Julio Casal
.Net Application Developer
http://spaces.msn.com/members/PolluxSpace


"Cid" wrote:

Tengo una tabla en sql server articulos con un campo clave IdArt si hago
este campo identidad y autoincrementable el tableadapter generado no me da
las acciones delete y update ?¿
El caso es que opte por marcarlo int y clave en sql server pero luego en la
tabla arratrada al dataset le pongo a IdArt la opcion AutoIncrement a true y
todo parace ir bien, genera delete y update etc.
Mi pregunta es, ¿Esta manera de trabajar es correcta o puede dar problemas?



Preguntas similares