Cadena de caracteres muy larga!
Como estas yo de nuevo! XD
Te molesto por lo siguiente tengo que guenerar una cadena de texto con la sentencia sql para una rutina de actualización de datos a una tabla que se encuentra en un servidor de MySQL, el problema es que son varios campos y sobrepasa el limite de 255 caracteres y la cadena la genero de varios lados Ejemplo:
vWhere = "update direcciones "
vWhere = vWhere + "set código="+ ALLTRIM(STR(vCodigo))+" and "
vWhere = vWhere + "país='" + ALLTRIM(PROPER(thisform.txpais.value)) + "' and "
vWhere = vWhere + "provincia='" + ALLTRIM(PROPER(thisform.txprovincia.value)) + "' and "
vWhere = vWhere + "departamento='" + ALLTRIM(PROPER(thisform.txdepartamento.value)) + "' and "
vWhere = vWhere + "barrio='" + ALLTRIM(PROPER(thisform.txbarrio.value)) + "' and "
vWhere = vWhere + "calle='" + ALLTRIM(PROPER(thisform.txcalle.value)) + "' and "
vWhere = vWhere + "numero=" + ALLTRIM(STR(thisform.txnumero.value)) + " and "
vWhere = vWhere + "piso=" + ALLTRIM(STR(thisform.txpiso.value)) + " and "
vWhere = vWhere + "depto=" + ALLTRIM(STR(thisform.txdepto.value)) + " and "
vWhere1 = "fecha='" + pFecha(thisform.txfecha.value)+ "' and "
IF thisform.chactual.Value = 1
vWhere1 = vWhere1 + "actual='Si' and "
IF cSQL <= 0
cSQL = SQLCONNECT("central")
endif
IF cSQL > 0
vResult = SQLEXEC(cSQL,"update direcciones set actual='No' where código="+ALLTRIM(STR(vCodigo)))
ELSE
vResult = -1
ENDIF
ELSE
vWhere = vWhere1 + "actual='No' and "
ENDIF
vWhere1 = vWhere + "sinc=0 and "
vWhere = vWhere + "codtemp=0"
WAIT windows vWhere
¿Y bueno como puedo hacer? No se como manejar cadenas de caracteres tan grandes y que tengan que insertar datos desde una variable o Texbox o variar el contenido por un IF
¿Cómo puedo hacer?
Yo utilizo varias variables y las concateno en el SQLexec. - jmmi