Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   Error a tratar campo autoincremental (https://www.clubdelphi.com/foros/showthread.php?t=64308)

zelijuan 26-03-2009 11:45:05

Error a tratar campo autoincremental
 
Muy Buenas a todos: Esto es un tema que tenia aparcado desde hace tiempo, solucionandolo con una tabla de contadores.El caso es que tengo una tabla en sql server con un campo auntoincremental que funciona perfectamente con las herramientas adiministrativas de Sql Server, ahora bien, desde cualquiera aplicacion delphi, database explorer es decir via odbc da error "field () must have a value". Pero si le pongo un valor me dice que no se le puede poner valor a un campo identity. "la pescadilla que se muerde la cola".Gracias a todos de antemano.

ContraVeneno 26-03-2009 17:42:33

¿cómo insertas los datos? ¿con query?, ¿clientdataset? , ¿?

Si es por query, simplemente no incluyas ese campo.

zelijuan 26-03-2009 18:40:28

A través de un DBGRID. Al realizar el Post salta el error. tiene que ser algo relacionado con el controlador ODBC, ya que como os cuento, la misma tabla funciona perfectamente con las herramientas administrativas de sqlServer pero en dephi a traves de odbc nada, si no pones valor en el campo autoincremental da error de que tienes que ponerle un dato, pero si se lo pones te dice que no se le puede poner un valor a un campo autoincremental ... es de locos.

Delphius 26-03-2009 18:49:50

¿Podríamos ver al menos una parte del código y/o instrucción SQL que emplees?

¿Que componentes usas?

Saludos,

ContraVeneno 26-03-2009 19:15:16

Cita:

Empezado por zelijuan (Mensaje 342814)
A través de un DBGRID...

un DBGrid es solo una representación gráfica de un dataset (TQUery, TTable), por lo que eso no responde la pregunta:

¿qué componentes estás utilizando?.

zelijuan 26-03-2009 19:45:27

Teneis razón, Vamos a plantearlo de otra manera basicamente
1 tabla sql server en el servidor-> con campo autoincremental
2 Pc local delphi con 1 dataset (dbe) ttable y dbgrid

esto da los errores anteriormente descritos

ahora bien y gracias al club delphi, he descubierto ADO

con Tadotable y conexion ado a la misma tabla funicona como era de esperar.Lo que me haces suponer que es una incompatibilidad de DBE con SQLserver (2000).

Muchisimas gracias a todos por su tiempo.

nuk3zito 07-04-2009 17:05:02

Que tal zelijuan,
ya hace algunos años alguien de este foro me ayudó a optimizar mis aplicaciones que utilizan talas de SQL Server (Marc "algo").
Te recomiendo que no uses TADOTable, pues este solo fue creado para ofrecer compatibilidad con aplicaciones viejas (desarrolladas en el esquema de tablas planas). En lo personal uso TADODataSet y TADOQuery, obviamente implícitamente estoy diciéndote que uso los componentes ADO porque son lo mejor para conectarse con SQL Server. Estos componentes van muy de la mano con este motor, así que migrando a estos, no veo por que puedas tener más problemas.

Saludos.

zelijuan 08-04-2009 23:44:56

Probaré lo que me comentas, gracias.


La franja horaria es GMT +2. Ahora son las 17:29:40.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi