FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
¿Cómo definir un "primary key" en tiempo de ejecución?
Hola, al buscar un registro dentro de una tabla con
Código:
MiDataSet.Tables.Item['MiTabla'].Rows.Find( 'texto a buscar' ); Código:
var PK : Array Of DataColumn; begin ... PK[0] := MiDataSet.Tables['MiTabla'].Columns['Columna']; MiDataSet.Tables['MiTabla'].PrimaryKey := PK; ... end; Gracias. |
#2
|
|||
|
|||
Solucion
Buenas, la solución era sencilla. No había que definir una variable sino un tipo:
Código:
Type PK = array of System.Data.DataColumn; Begin ... MiDataSet.Tables['MiTabla'].PrimaryKey := PK.Create ( MiDataSet.Tables['MiTabla'].Columns['MiColumna'] ); ... End; These columns don't currently have unique values Tenía entendido que este error se da cuando no hay una clave primaria definida en la base de datos, pero es que es eso precisamente lo que hace esta línea. En la BD de Oracle tengo definido un campo como "primary key", aunque también he probado como "unique" y sin atributos "especiales". El error siempre es el mismo, ¿sabeis el motivo? Gracias. |
|
|
|