INSERTAR EN MYSQL

131 views
Skip to first unread message

manuel medina

unread,
Sep 6, 2021, 3:02:56 PM9/6/21
to Comunidad de Visual Foxpro en Español

Que tal al grupo completo, espero que bien.
Estoy pidiendo este favor después de hacer varios intentos por resolver. 

Les comento que tengo coleccione sin problemas, ya inserto registro directamente desde Navicat a MYsql o MariaDB y puedo hacer consulta desde vpf,  pero cuando intento hacer insert  desde vfp parace que algo me falta o me sobra.

Lo hago con comillas simple, doble, sin variable y con variables, con signo de interrogación y sin signo.

SQLEXEC(cn,"insert into articulos (codigo,descrip) VALUE ('0012','REFRESCO DE 20')")
SQLEXEC(cn,"insert into articulos (codigo,descrip) VALUE ("0012", "REFRESCO DE 20")")
SQLEXEC(cn,"insert into articulos (codigo,descrip) VALUE (?thisform.codigo.value,?thisform.descrip.value)")

Son varios campos lo que debo guardar y he escuchado deque existe un limite de campo  usando este procedimiento, de ser así, si tienen otra forma de guardar le agradeseria por favor.
Saludos.

Dsan

unread,
Sep 6, 2021, 3:34:57 PM9/6/21
to publice...@googlegroups.com


No tires los sqlexec como dados a lo que salga pon proteccion de errores.. o usas foxydb o sqldata


aca en el grupo hay muchos ejemplos

text to TxCad............ 
    insert into articulos (codigo,descrip) VALUE ('0012','REFRESCO DE 20')
endtext 

if SQLExec(Thisform.oConexion1.nhandle,TxCad) <= 0 then
     Aerror(laErr)
    Messagebox("Imposible insertar registros, Error: " + Chr(13) + laErr[2],0+48,"Alerta",2000)
endif 

* Si todo va bien que siga...





--
Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/fee86174-bc73-4894-9bd0-cb86e574e0b9n%40googlegroups.com.

Arnaldo Toledano

unread,
Sep 6, 2021, 8:45:03 PM9/6/21
to publice...@googlegroups.com

MySQL tiene limite, pero yo nunca he necesitado.
He insertado hasta 1000 registros a la vez.
Todo depende en realidad del TEXT - ENTEXT
Como dice DSAN, (recien caigo que es DOUGLAS SANCHEZ....(🤦‍♂️🤦‍♂️🤦‍♂️🤦‍♂️), debe funcionar correctamente con



text to TxCad 
    insert into articulos (codigo,descrip) VALUE ('0012','REFRESCO DE 20')
endtext

Aca estas indicando que en TxCAD vas tener un texto que luego le pasaras a MySQL.

if SQLExec(nc,TxCad) <= 0 then                      && Donde NC es la TU CONEXCION y txCad lo que te indique mas arriba
     Aerror(laErr)
    Messagebox("Imposible insertar registros, Error: " + Chr(13) + laErr[2],0+48,"Alerta",2000)
endif


Listo.

Arnaldo Toledano

manuel medina

unread,
Sep 7, 2021, 12:00:33 AM9/7/21
to Comunidad de Visual Foxpro en Español
Saludos,

La verdad que quiero darle las gracias no solo por las ayudas, si no también por lo activo que son frente a los problemas que presentamos los principiantes. 

Gracias a ustedes y estoy insertando y consultando.

Estoy insertando bien de esta forma que me recomendaron pero para simplificar y no hacer la linea tan larga quisiera hacerlo como el ejemplo 2

Ejemplo 1
text to TxCad
    insert into articulos (codigo,descrip,costo,tipoit,detalle,e1,c1,precio1,t1,minimo,costo1) VALUE (?thisform.codigo.value,?thisform.descrip.value,?thisform.costo.value,?thisform.tipoit.value,?thisform.detalle.value,?thisform.e1.value,?thisform.c1.value,?thisform.precio1.value,?thisform.t1.value,?thisform.minimo.value,?thisform.costo1.value)
endtext 

Ejemplo 2,   Con este me da error de sintaxis pero creo que falta algun (;) o algo entre comillas, la verdad estoy perdido aquí  
text to TxCad
*    insert into articulos (codigo,descrip,costo,tipoit,detalle,e1,c1,precio1)
 *   VALUE (?thisform.codigo.value),
  *  (?thisform.descrip.value),
   * (?thisform.costo.value),
*    (?thisform.tipoit.value),
 *   (?thisform.detalle.value),
  *  (?thisform.e1.value),
   * (?thisform.c1.value),
    *(?thisform.precio1.value);
endtext 

Buenas noches 

HernanCano

unread,
Sep 7, 2021, 1:25:19 AM9/7/21
to Comunidad de Visual Foxpro en Español
Quita tantos paréntesis.
En tu versión "original" (ejm 1) no tienes los paréntesis (que sobran).

Deja solamente el de apertura al iniciar  VALUES (
   y solamente el de cierre   al terminar ?ThisForm.Precio1.Value )

Todas las comas --que están dentro de VALUES-- continúan.

manuel medina

unread,
Sep 7, 2021, 11:45:38 AM9/7/21
to Comunidad de Visual Foxpro en Español
Saludos y gracias 

ok, lo hare en cuanto tenga el tiempo 

ok

manuel medina

unread,
Sep 7, 2021, 11:52:24 AM9/7/21
to Comunidad de Visual Foxpro en Español
Hey, gracias mil, ya esta bien .

text to TxCad
    insert into articulos (codigo,descrip,costo,tipoit,detalle,e1,c1,precio1)
    VALUE (?thisform.codigo.value,
    ?thisform.descrip.value,
    ?thisform.costo.value,
    ?thisform.tipoit.value,
    ?thisform.detalle.value,
    ?thisform.e1.value,
    ?thisform.c1.value,
    ?thisform.precio1.value);
endtext 

Luego tratare de hacer el update, cualquier cosa le tiro.
graciasssss.

Vinicio Altamirano

unread,
Sep 7, 2021, 11:56:47 AM9/7/21
to publice...@googlegroups.com
Estaba viendo y creo que  mysql y entiendo que  mariaDB no admiten que abrevies VALUES a VALUE.
Confirmaste que está bien esa SINTAXIS ? 

manuel medina

unread,
Sep 7, 2021, 11:53:19 PM9/7/21
to Comunidad de Visual Foxpro en Español
Si esta funcionando bien 

Gracias
Reply all
Reply to author
Forward
0 new messages