Columnas de la clave primaria

12/01/2008 - 21:46 por Erick \(foxero\) | Informe spam
Como se obtienen las columnas de las claves primarias de una datatable?

Preguntas similare

Leer las respuestas

#1 Octavio Hernandez
12/01/2008 - 23:15 | Informe spam
Hola,

Mira la propiedad PrimaryKey de DataTable:

http://msdn2.microsoft.com/en-us/li...primarykey(VS.71).aspx

Slds - Octsvio


"Erick (foxero)" <eric> wrote in message
news:%
Como se obtienen las columnas de las claves primarias de una datatable?

Respuesta Responder a este mensaje
#2 Erick \(foxero\)
12/01/2008 - 23:25 | Informe spam
Hola Octavio.

El problema es que la propiedad PrimaryKey del DataTable no se me llena
automaticamente.

Creo un dataadapter mandandole un select que incluye la columna de la clave
primaria de la tabla. Creo un commandbuilder y lo asocio al data adapter.

Uso update para actualizar. Me funciona correctamente, de hecho veo en sql
server los comandos que me genera y estan bien, o sea que el Comandbuilder
tiene "consciencia" de la primaria. (Overwritechanges).

El unico problema es que quiero que la propiedad PrimaryKey del datatable se
inicialice y no lo hace. Parece como si el commandbuilder y el datatable
que llena el dataadapter no se sincronizan.

Existirá alguna otra forma de identificar en el programa cuales son las
columnas de la PK?

Nota: uso datatables no tipadas y VS2008 express

gracias






"Octavio Hernandez" escribió en el mensaje
news:%23$
Hola,

Mira la propiedad PrimaryKey de DataTable:


http://msdn2.microsoft.com/en-us/li...primarykey(VS.71).aspx

Slds - Octsvio


"Erick (foxero)" <eric> wrote in message
news:%
Como se obtienen las columnas de las claves primarias de una datatable?




Respuesta Responder a este mensaje
#3 Pedro Luna Montalvo
13/01/2008 - 02:01 | Informe spam
Puedes consultar el método FillSchema() de la clase DataAdapter,

Saludos,
Pedro Luna. Gye, Ecu


"Erick (foxero)" <eric> escribió en el mensaje de
noticias:
Hola Octavio.

El problema es que la propiedad PrimaryKey del DataTable no se me llena
automaticamente.

Creo un dataadapter mandandole un select que incluye la columna de la
clave primaria de la tabla. Creo un commandbuilder y lo asocio al data
adapter.

Uso update para actualizar. Me funciona correctamente, de hecho veo en
sql server los comandos que me genera y estan bien, o sea que el
Comandbuilder tiene "consciencia" de la primaria. (Overwritechanges).

El unico problema es que quiero que la propiedad PrimaryKey del datatable
se inicialice y no lo hace. Parece como si el commandbuilder y el
datatable que llena el dataadapter no se sincronizan.

Existirá alguna otra forma de identificar en el programa cuales son las
columnas de la PK?

Nota: uso datatables no tipadas y VS2008 express

gracias






"Octavio Hernandez" escribió en el mensaje
news:%23$
Hola,

Mira la propiedad PrimaryKey de DataTable:


http://msdn2.microsoft.com/en-us/li...primarykey(VS.71).aspx

Slds - Octsvio


"Erick (foxero)" <eric> wrote in message
news:%
Como se obtienen las columnas de las claves primarias de una datatable?








Respuesta Responder a este mensaje
#4 Erick \(foxero\)
13/01/2008 - 03:51 | Informe spam
Hola Pedro.

Pensaba pues usar ese metodo pero he observado algo extraño, que imagino has
observado tambien, y es que si bien al ejecutarlo me carga el esquema
correctamente y me llena la prop. primarykey del datatable tal como yo
quiero pero resulta que el CommandBuilder ni se entera. Entonces cuando
procedo a hacer un update (en realidad tambien basta con hacer cualquier
referencia a los comandos del commandbuilder : getinsertcommand,
getupdate...) resulta que me vuelve a cargar el esquema obviamente haciendo
otro "round trip" al servidor. No debería el commandbuilder aprovechar ese
esquema que ya se descargó con el FillSchema?

Habria alguna manera de evitar que cargue el esquema dos veces por cada
tabla ? O será un bug?

gracias,

uso VS2008 version Express


"Pedro Luna Montalvo" escribió en el mensaje
news:
Puedes consultar el método FillSchema() de la clase DataAdapter,

Saludos,
Pedro Luna. Gye, Ecu


"Erick (foxero)" <eric> escribió en el mensaje de
noticias:
Hola Octavio.

El problema es que la propiedad PrimaryKey del DataTable no se me llena
automaticamente.

Creo un dataadapter mandandole un select que incluye la columna de la
clave primaria de la tabla. Creo un commandbuilder y lo asocio al data
adapter.

Uso update para actualizar. Me funciona correctamente, de hecho veo en
sql server los comandos que me genera y estan bien, o sea que el
Comandbuilder tiene "consciencia" de la primaria. (Overwritechanges).

El unico problema es que quiero que la propiedad PrimaryKey del datatable
se inicialice y no lo hace. Parece como si el commandbuilder y el
datatable que llena el dataadapter no se sincronizan.

Existirá alguna otra forma de identificar en el programa cuales son las
columnas de la PK?

Nota: uso datatables no tipadas y VS2008 express

gracias






"Octavio Hernandez" escribió en el
mensaje news:%23$
Hola,

Mira la propiedad PrimaryKey de DataTable:


http://msdn2.microsoft.com/en-us/li...primarykey(VS.71).aspx

Slds - Octsvio


"Erick (foxero)" <eric> wrote in message
news:%
Como se obtienen las columnas de las claves primarias de una datatable?











Respuesta Responder a este mensaje
#5 Alberto Poblacion
13/01/2008 - 08:57 | Informe spam
"Erick (foxero)" <eric> wrote in message
news:%
Como se obtienen las columnas de las claves primarias de una datatable?



Cuando construyas el DataAdapter, en su propiedad MissingSchemaAction
ponle el valor AddWithKey. Esto ocasiona que, al llenar el DataTable con el
DataAdapter, te cree el esquema de la tabla (si no existe ya) con la clave
primaria y las restricciones de unicidad de colmnas que existan en la base
de datos.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida