Cual es la diferencia entre.
"INSERT INTO clientes SET "
y
"INSERT INTO clientes ( field1. field2. field3) VALUES "
hablando concretamente de MySql y DOLPHIN
saludos..
cCmdSql := "INSERT INTO " +;
"Fijos " +;
"SET " +;
"Fij_Cia = '" + STR(oRsEmp:Fields("EMP_CIA"):Value,02,0) + "'," +;
"Fij_Emp = '" + STR(oRsEmp:Fields("EMP_EMP"):Value,05,0) + "'," +;
"Fij_Con = '" + STR(nCpto,03,0) + "'," +;
"Fij_Vec = '" + STR(nUnidad,05,2) + "'," +;
"Fij_Cal = 1" + "," +;
"Fij_Sdi = '" + STR(nSdi,11,2) +"'," +;
"Fij_Sdv = '" + STR(nSdv,11,2) +"'"
#include "fivewin.ch"
#include <tdolphin.ch>
#DEFINE C_SIMPLE CHR( 39 )
#DEFINE c_simple CHR( 39 )
Function Test()
local aNombres
local i
local cInsertQry := ""
local cQry
aadd( aNombres, {"001", "NOMBRE 1"} )
aadd( aNombres, {"002", "NOMBRE 2"} )
aadd( aNombres, {"003", "NOMBRE 3"} )
aadd( aNombres, {"004", "NOMBRE 4"} )
aadd( aNombres, {"005", "NOMBRE 5"} )
aadd( aNombres, {"006", "NOMBRE 6"} )
aadd( aNombres, {"007", "NOMBRE 7"} )
aadd( aNombres, {"008", "NOMBRE 8"} )
aadd( aNombres, {"009", "NOMBRE 9"} )
aadd( aNombres, {"010", "NOMBRE 10"} )
// PRIMERO TOMAR LOS VALORES
// PARA QUE SEA MAS RAPIDO EL CICLO FOR
// estamos hablando de que los arreglos pueden contener desde 100 o hasta 20 mil registros
for i := 1 to len( aNombres )
cQry := "INSERT INTO clientes SET "
cQry += "clave=" + ClipValue2SQL( aNombres[i][1] ) + ","
cQry += "nombre=" + ClipValue2SQL( aNombres[i][2] )
cInsertQry += cQry + ";"
NEXT
//AQUI QUIERO AGREGAR LOS REGISTROS AL FINAL DE
//DE RECORRER EL CICLO
// pero NO FUNCIONA !!! mysql con dolphin
// no marca error ni nada simplemente no inserta los
// registros.
TRY
oCon:Execute( cInsertQry )
CATCH
END
// ACLARO TENGO MYSQL. 5.0
// GRACIAS.. SALUDOS..
return nil
sysctrl2 wrote:Jose Luis,
GRACIAS, MUY CLARO,
Paisa, gracias,
se me presenta el sig. caso.
- Code: Select all Expand view
#include "fivewin.ch"
#include <tdolphin.ch>
#DEFINE C_SIMPLE CHR( 39 )
#DEFINE c_simple CHR( 39 )
Function Test()
local aNombres
local i
local cInsertQry := ""
local cQry
aadd( aNombres, {"001", "NOMBRE 1"} )
aadd( aNombres, {"002", "NOMBRE 2"} )
aadd( aNombres, {"003", "NOMBRE 3"} )
aadd( aNombres, {"004", "NOMBRE 4"} )
aadd( aNombres, {"005", "NOMBRE 5"} )
aadd( aNombres, {"006", "NOMBRE 6"} )
aadd( aNombres, {"007", "NOMBRE 7"} )
aadd( aNombres, {"008", "NOMBRE 8"} )
aadd( aNombres, {"009", "NOMBRE 9"} )
aadd( aNombres, {"010", "NOMBRE 10"} )
// PRIMERO TOMAR LOS VALORES
// PARA QUE SEA MAS RAPIDO EL CICLO FOR
// estamos hablando de que los arreglos pueden contener desde 100 o hasta 20 mil registros
for i := 1 to len( aNombres )
cQry := "INSERT INTO clientes SET "
cQry += "clave=" + ClipValue2SQL( aNombres[i][1] ) + ","
cQry += "nombre=" + ClipValue2SQL( aNombres[i][2] )
cInsertQry += cQry + ";"
NEXT
//AQUI QUIERO AGREGAR LOS REGISTROS AL FINAL DE
//DE RECORRER EL CICLO
// pero NO FUNCIONA !!! mysql con dolphin
// no marca error ni nada simplemente no inserta los
// registros.
TRY
oCon:Execute( cInsertQry )
CATCH
END
// ACLARO TENGO MYSQL. 5.0
// GRACIAS.. SALUDOS..
return nil
cQry := "INSERT INTO clientes SET "
for i := 1 to len( aNombres )
cQry += "clave=" + ClipValue2SQL( aNombres[i][1] ) + ","
cQry += "nombre=" + ClipValue2SQL( aNombres[i][2] )
cInsertQry += cQry + ";"
NEXT
TRY
oCon:Execute( cInsertQry )
CATCH
END
for i := 1 to len( aNombres )
cQry := "INSERT INTO clientes SET "
cQry += "clave=" + ClipValue2SQL( aNombres[i][1] ) + ","
cQry += "nombre=" + ClipValue2SQL( aNombres[i][2] )
cInsertQry += cQry + ";" + chr(13)+chr(10)
NEXT
INSERT INTO Clientes SET clave="001",nombre="NOMBRE 1";INSERT INTO clientes SET clave="02",nombre="NOMBRE 2";
for i := 1 to len( aNombres )
cQry := "INSERT INTO clientes SET " + chr(13)+chr(10)
cQry += "clave=" + ClipValue2SQL( aNombres[i][1] ) + "," + chr(13)+chr(10)
cQry += "nombre=" + ClipValue2SQL( aNombres[i][2] ) + ";" + chr(13)+chr(10)
cInsertQry += cQry + chr(13)+chr(10)
NEXT
INSERT INTO Clientes SET
clave="001",
nombre="NOMBRE 1";
INSERT INTO clientes SET
clave="02",
nombre="NOMBRE 2";
INSERT INTO clientes (Clave, Nombre) Values ('01', 'NOMBRE 1');
INSERT INTO clientes Values ('01', 'NOMBRE 1');
INSERT INTO clientes (Clave, Nombre)
Select ... From "Otra tabla"
Where ...;
#include "fivewin.ch"
#include <tdolphin.ch>
#DEFINE C_SIMPLE CHR( 39 )
#DEFINE c_simple CHR( 39 )
Function Test()
local aNombres
local i
local cInsertQry := ""
local cQry
aadd( aNombres, {"001", "NOMBRE 1"} )
aadd( aNombres, {"002", "NOMBRE 2"} )
aadd( aNombres, {"003", "NOMBRE 3"} )
aadd( aNombres, {"004", "NOMBRE 4"} )
aadd( aNombres, {"005", "NOMBRE 5"} )
aadd( aNombres, {"006", "NOMBRE 6"} )
aadd( aNombres, {"007", "NOMBRE 7"} )
aadd( aNombres, {"008", "NOMBRE 8"} )
aadd( aNombres, {"009", "NOMBRE 9"} )
aadd( aNombres, {"010", "NOMBRE 10"} )
// PRIMERO TOMAR LOS VALORES
// PARA QUE SEA MAS RAPIDO EL CICLO FOR
// estamos hablando de que los arreglos pueden contener desde 100 o hasta 20 mil registros
cQry := "INSERT INTO clientes (clave,nombre) VALUES "
for i := 1 to len( aNombres )
cQry += "( " + ClipValue2SQL( aNombres[i][1] ) + "," + ClipValue2SQL( aNombres[i][2] ) + ")"
IF i < Len( aNombres )
cQry+= ','
NEXT
//AQUI QUIERO AGREGAR LOS REGISTROS AL FINAL DE
//DE RECORRER EL CICLO
// pero NO FUNCIONA !!! mysql con dolphin
// no marca error ni nada simplemente no inserta los
// registros.
TRY
oCon:Execute( cQry )
CATCH
END
// ACLARO TENGO MYSQL. 5.0
// GRACIAS.. SALUDOS..
return nil
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: Google [Bot] and 43 guests