Saber si una columna es la clave
Hola.
Tengo una tabla agenda en SQL Server que tiene un campo clave identity "ID"
CREATE TABLE [dbo].[Agenda] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[Nombre] [char] (20) COLLATE Modern_Spanish_CI_AS NULL ,
[Ape1] [char] (10) COLLATE Modern_Spanish_CI_AS NULL ,
[Ape2] [char] (10) COLLATE Modern_Spanish_CI_AS NULL ,
[Direccion] [char] (30) COLLATE Modern_Spanish_CI_AS NULL ,
[Poblacion] [char] (20) COLLATE Modern_Spanish_CI_AS NULL ,
[Telefono] [decimal](18, 0) NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Agenda] ADD
constraint [pk_agenda] primary key clustered
(
[id]
) ON [PRIMARY]
GO
Desde VB .Net obtengo dicha tabla en un Datatable y quiero detectar si alguna columna es clave.
Lo intento hacer de esta manera:
Private miDataSet As New DataSet
Private miDataTable As New DataTable
Private miDA As SqlDataAdapter
miDA = SqlDataAdapter("select * from Agenda", cnMiconexion.ConnectionString)
miDataTable = miDataSet.Tables.Add("Agenda")
miDA.Fill(miDataTable)
Miro las constraints y me dice ¡¡¡¡¡ que no hay ninguna!!!!!
Dim cs As Constraint
For Each cs In miDataTable.Constraints
If TypeOf cs Is UniqueConstraint Then
'NUNCA ENTRA AQUI
End If
Next cs
¿Cómo puedo saber si una columna es clave en el dataset (o datatable)?
Gracias de antemano
Tengo una tabla agenda en SQL Server que tiene un campo clave identity "ID"
CREATE TABLE [dbo].[Agenda] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[Nombre] [char] (20) COLLATE Modern_Spanish_CI_AS NULL ,
[Ape1] [char] (10) COLLATE Modern_Spanish_CI_AS NULL ,
[Ape2] [char] (10) COLLATE Modern_Spanish_CI_AS NULL ,
[Direccion] [char] (30) COLLATE Modern_Spanish_CI_AS NULL ,
[Poblacion] [char] (20) COLLATE Modern_Spanish_CI_AS NULL ,
[Telefono] [decimal](18, 0) NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Agenda] ADD
constraint [pk_agenda] primary key clustered
(
[id]
) ON [PRIMARY]
GO
Desde VB .Net obtengo dicha tabla en un Datatable y quiero detectar si alguna columna es clave.
Lo intento hacer de esta manera:
Private miDataSet As New DataSet
Private miDataTable As New DataTable
Private miDA As SqlDataAdapter
miDA = SqlDataAdapter("select * from Agenda", cnMiconexion.ConnectionString)
miDataTable = miDataSet.Tables.Add("Agenda")
miDA.Fill(miDataTable)
Miro las constraints y me dice ¡¡¡¡¡ que no hay ninguna!!!!!
Dim cs As Constraint
For Each cs In miDataTable.Constraints
If TypeOf cs Is UniqueConstraint Then
'NUNCA ENTRA AQUI
End If
Next cs
¿Cómo puedo saber si una columna es clave en el dataset (o datatable)?
Gracias de antemano
1 Respuesta
Respuesta de Roberto Alvarado
1