Campo Fecha como clave primaria
Publicado por Jesús Valdivieso (8 intervenciones) el 13/03/2006 10:12:43
Hola a todos.
Tengo el siguiente problema con una tabla en una base de datos SQLServer 2000. La tabla tiene varios campos caracter y un campo fecha (smalldatetime). Para formar el campo primary key, uso dos campos de tipo caracter, más el campo fecha, teniendo el siguiente problema. Utilizo un dataset y mediante el método Find de la colección Rows, localizo un registro determinado. Por ejemplo:
dim Clave(2) as object
'dtrAux es un datarow auxiliar que me posiciona en una fila de una tabla de clientes de la que 'obtengo los datos para crear la clave principal en la tabla donde tengo el problema. Este datarow 'tiene datos coherente.
Clave (0) = dtrAux("Cliente").tostring
Clave (1) = dtrAux("Pedido").tostring
Clave (2) = dtrAux("Fecha").tostring
'Ahora busco la clave, dtrPedidos es un datarow bien definido al principio del procedimiento
dtrPedidos = dtsdataset.Tables("Pedidos").Rows.Find(Clave)
if dtrPedidos is Nothing then
....
.... resto del código
....
Pues bien el error que me da, es cuando existen registros en la tabla de Pedidos, y comienza la búsqueda (método Find). El error que arroja es 'La conversión especificada no es válida'. He probado a cambiar la clave(2), y pasarle en vez la fecha en formato dd/mm/yyyy, al formato ANSI, que es yyyymmdd y tampoco va. Ya no sé qué más puede ocurrir. Si alguien sabe cómo puedo solucionar el problema, le agradecería su ayuda.
Gracias por vuestra ayuda.
Saludos, Jesús .....
Tengo el siguiente problema con una tabla en una base de datos SQLServer 2000. La tabla tiene varios campos caracter y un campo fecha (smalldatetime). Para formar el campo primary key, uso dos campos de tipo caracter, más el campo fecha, teniendo el siguiente problema. Utilizo un dataset y mediante el método Find de la colección Rows, localizo un registro determinado. Por ejemplo:
dim Clave(2) as object
'dtrAux es un datarow auxiliar que me posiciona en una fila de una tabla de clientes de la que 'obtengo los datos para crear la clave principal en la tabla donde tengo el problema. Este datarow 'tiene datos coherente.
Clave (0) = dtrAux("Cliente").tostring
Clave (1) = dtrAux("Pedido").tostring
Clave (2) = dtrAux("Fecha").tostring
'Ahora busco la clave, dtrPedidos es un datarow bien definido al principio del procedimiento
dtrPedidos = dtsdataset.Tables("Pedidos").Rows.Find(Clave)
if dtrPedidos is Nothing then
....
.... resto del código
....
Pues bien el error que me da, es cuando existen registros en la tabla de Pedidos, y comienza la búsqueda (método Find). El error que arroja es 'La conversión especificada no es válida'. He probado a cambiar la clave(2), y pasarle en vez la fecha en formato dd/mm/yyyy, al formato ANSI, que es yyyymmdd y tampoco va. Ya no sé qué más puede ocurrir. Si alguien sabe cómo puedo solucionar el problema, le agradecería su ayuda.
Gracias por vuestra ayuda.
Saludos, Jesús .....
Valora esta pregunta


0