Visual Basic - Extraña sintaxis

Life is soft - evento anual de software empresarial
 
Vista:

Extraña sintaxis

Publicado por Lupe (2 intervenciones) el 01/02/2005 09:57:30
Soy nueva en el mundo del ADO y mi pregunta es la siguiente:

Tengo una base de datos Mysql y la tabla \"Direcciones\" vacía.
Al intentar ejecutar un Addnew me da error (debido a que no hay ningún registro).

Entonces tengo que realizar una inserción manual con un .execute de un registro centinela para evitar dicho error.
Una vez hecho esto, hago una select de la tabla para llenar el recordset (aun no entiendo porque se tiene que hacer esto, ya que en DAO no es necesario), y entonces ya me permite hacer el Addnew.

Por cierto, si la tabla Direcciones tiene 10 campos y 3 son llave primaria, cuando creo el centinela con el .execute(insert into Direcciones set campo1=X , campo2=X, campo3=X)
Al añadir registros con Addnew me da error al insertar el cuarto campo. Parece como si tuviese que insertar todos y cada uno de los campos (10) con el .execute para que el addnew me funcione.

Lo estoy haciendo bien, o existe una forma mucho más fácil (supongo que si) de insertar campos en una tabla vacía sin tener que insertar manualmente un centinela en el primer registro.

Muchas gracias.





Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Bienvenida al mundo ADO

Publicado por Ayudante (349 intervenciones) el 01/02/2005 16:35:40
Mira, el tema de ADO es mucho más extenso que el de DAO, en realidad DAO es apenas un subconjunto que está inmerso en un ámbito más grande que junto con lo que era RDO se produjo el mágico componente de ADO.

Ahora, mira, por lo que veo, tienes que estudiar un poco las sintaxis de SQL, los insert no se hacen de esa forma, más bien corrige tu instrucción:
insert into tabla (campos) values (valores), donde campos y valores se separan con comas ",".

Lo que veo es que tu insert es una combinación entre ésta instrucción y los Update, donde el update se debe realizar de la forma:
Update [tabla] set [campo]=[valor], ....., [campo]=[valor] where [condición]

Al final, debes acostumbrarte, ya que la mayoría de sistemas se manejan con scripts de este tipo para modificar, insertar, borrar (falta pero te lo dejo de tarea), y selects.

Otra cosa es que para ejecutar instrucciones que no retornan datos, se asume que no es recomendable ejecutarla con recordsets, sino con ejecuciones de comandos, además sería interesante que explores ADO desde código mediante la librería "Microsoft ActiveX Data Object", que actualmente está en la versión 2.8, y jueges con los objetos que tiene el ADODB: Connection, Recordset, Command.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Bienvenida al mundo ADO

Publicado por Lupe (2 intervenciones) el 02/02/2005 08:17:45
Muchas gracias Ayudante.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar