Consulta SQL via TDolphin

Consulta SQL via TDolphin

Postby MarioG » Wed Jul 04, 2018 11:08 pm

Hola Gente
He guardado en un campo el siguiente texto: IDEAS & DESARROLLOS
Luego cuando lo recupero para mostrarlo en un SAY, se ve asi: IDEAS _DESARROLLOS

Cual es la forma de guardarlo o de recuperarlo
Gracias
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Consulta SQL via TDolphin

Postby joseluisysturiz » Thu Jul 05, 2018 12:14 am

Intenta con ClipValue2SQL( Val2Escape( tu_valor ) ), saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: Consulta SQL via TDolphin

Postby MarioG » Thu Jul 05, 2018 2:11 pm

Gracias JL!
Ahora se vé así : IDEAS DESARROLLOS
Alguna función/metodo me está faltando porque en un xBrowse, que muestra el Query consultado, se ve correctamente
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Consulta SQL via TDolphin

Postby cmsoft » Thu Jul 05, 2018 3:11 pm

Hola Mario:
Hice la prueba en una base de datos que tengo y tanto en el Browse como en el Get me mustra bien el ampersand
Tengo la tabla definida con ENGINE=INNODB DEFAULT CHARSET=latin1 y el campo es un VARCHAR (40)
Tambien probé con otra tabla que tengo definida como ) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci y obtuve el mismo resultado.
Grabo con la funcion SAVE de Tdolphin
Espero que te de alguna pista
User avatar
cmsoft
 
Posts: 1189
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Consulta SQL via TDolphin

Postby MarioG » Thu Jul 05, 2018 8:16 pm

Gracias por tus datos CM
Mis tablas estan creadas como: CHARSET=utf8 y COLLATE=utf8_spanish_ci
Como comenté en el primer post tengo el siguiente Browse
Code: Select all  Expand view
  REDEFINE XBROWSE oBrwP ID BRW_XBRW OF oDlg AUTOSORT  ;
            COLUMNS "RazSocial", "CUIT" ;
            HEADERS "RazSocial", "CUIT" ;
            OBJECT  ::oQVProv
 

Que muestra el dato tal como lo guardé mediante:
oData:oServer:Insert(...)
o cuando actualizo mediante
oData:oServer:SqlQuery( cQry )

Luego para mostrarlo en un say, lo recupero con, en este caso: oQryPrv:= hA:oConn:Query( "SELECT * FROM provclie WHERE id_prvcli="+cIDProv )
Y, el campo aludido me devuelve, tal lo comentado
Intenté usando la función que me pasó José Luis, pero me devuelve espacio donde esta el simbolo &
Tambien mne contactó Ariel Cagiao y me paso lo siguiente:
cVar:= "IDEAS & DESARROLLOS"
cSave:= StrToHexa( cVar )
cLoad:= HexaToStr( cSave )
? cVar, cSave, cLoad

En este caso no reconoce las funciones; uso Harbour 3.2
Probé con inclui HB_Str... no las reconoce
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Consulta SQL via TDolphin

Postby cmsoft » Thu Jul 05, 2018 10:40 pm

Prueba asi:
Code: Select all  Expand view

oQryPrv:= hA:oConn:Query( "SELECT * FROM provclie WHERE id_prvcli="+cIDProv )
oQryPrv:nombre := "IDEAS & DESARROLLOS" // O como se llame el campo donde grabas el nombre del proveedor
oQryPrv:Save()
 

Y comenta como lo graba...
User avatar
cmsoft
 
Posts: 1189
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Consulta SQL via TDolphin

Postby MarioG » Fri Jul 06, 2018 12:14 am

Voy para peor! :shock: :cry:
Puse el campo en blanco; paso las líneas que me sugeriste... y no guarda nada!!
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Consulta SQL via TDolphin

Postby cmsoft » Fri Jul 06, 2018 11:41 am

Mario:
Por favor prueba este codigo y comenta
Code: Select all  Expand view
#include "fivewin.ch"
#include "XBROWSE.ch"
#include "Tdolphin.ch"
function Mario_test()

   local  oDlg, oBrw, oBot, oGet, base,cSql, oServer, oQry, oError

   CONNECT oServer HOST "localhost" ;
                      USER "root" ;
                      PASSWORD "" ;
                      PORT 3306;
                      FLAGS 0;
                      DATABASE "test"
   
   TEXT INTO cSql
   CREATE TABLE IF NOT EXISTS `datos` (
  `NOMBRE` VARCHAR(35) NOT NULL,
  `CODIGO` INT(10) NOT  NULL AUTO_INCREMENT,
  PRIMARY KEY (`CODIGO`)
   ) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
   ENDTEXT
   oServer:Execute(cSql)
   oServer:Execute("INSERT INTO datos (nombre) VALUES (' ')")
   oQry:= oServer:Query("SELECT * FROM datos ")  

   DEFINE DIALOG oDlg TITLE "Prueba browse " FROM 09,15 TO 28,135
   oDlg:lHelpIcon := .f.

   @ 02,080 XBROWSE oBrw DATASOURCE oQry SIZE 325,120 OF oDlg PIXEL ;
       COLUMNS "codigo","nombre" HEADERS "Codigo","Nombre";
       SIZES   100,400 AUTOSORT
   @ 00,00 SAY oBrw:oSeek PROMPT "" OF oDlg PIXEL
   oBrw:CreateFromCode()
 

   @10,423 BUTTON oBot PROMPT "&Salir" OF oDlg SIZE 30,10 ACTION oDlg:End() PIXEL

   ACTIVATE DIALOG oDlg CENTER
   base:=oQry:GetRowObj()
   DEFINE DIALOG oDlg TITLE "Prueba Get " FROM 09,15 TO 28,135
   oDlg:lHelpIcon := .f.

   @ 02,080 GET oGet VAR base:nombre SIZE 300,12 OF oDlg PIXEL

   @10,423 BUTTON oBot PROMPT "&Salir" OF oDlg SIZE 30,10 ACTION oDlg:End() PIXEL
   // Activo el dialog
   ACTIVATE DIALOG oDlg CENTER

   oQry:oRow := base
   TRY
    oServer:BeginTransaction()
    oQry:Save()
    oQry:Refresh(.t.)
    oServer:CommitTransaction()
   CATCH oError
     MsgInfo("Error")
   
   END TRY

return nil

Es muy basico, pero a mi me funciona bien y me muestra bien el ampersand
Cada vez que ejecutas el programa te agrega un nuevo registro, y te lo muestra en el browse y en el get. Ponle IDEAS & DESARROLLOS y comenta que hace
User avatar
cmsoft
 
Posts: 1189
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Consulta SQL via TDolphin

Postby MarioG » Fri Jul 06, 2018 1:07 pm

Gracias por tu tiempo CM
En algo me estaré equivocando, lo veo y te cuento
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Consulta SQL via TDolphin

Postby nnicanor » Sun Jul 08, 2018 6:14 pm

Hola,

La presentacion correcta de los caracteres tiene que ver con el codepage de idioma seleccionado de harbour y el de la base datos, lo solucionas asi y guardara correctamente los acentos y caracteres especiales:

REQUEST HB_CODEPAGE_ESWIN
REQUEST HB_LANG_ES


Function Main()

..
..

SET( _SET_CODEPAGE, "ESWIN" ) // Seleccionar idioma en Harbour

Set_MyLang( "es_MX" ) // Seleccionar el idioma en MYSQl

...
...

Saludos,
Nicanor Martinez M.
Auditoria y Sistemas Ltda.
MicroExpress Ltda.
FW + FWH + XHARBOUR + HARBOUR + PELLES C + XDEVSTUDIO + XEDIT + BCC + VC_X86 + VCC_X64 + MINGW + R&R Reports + FastReport + Tdolphin + ADO + MYSQL + MARIADB + ORACLE
nnicanor@yahoo.com
nnicanor
 
Posts: 295
Joined: Fri Apr 23, 2010 4:30 am
Location: Colombia

Re: Consulta SQL via TDolphin

Postby MarioG » Mon Jul 09, 2018 12:36 am

Muchas gracias Nicanor
No sabia de esto: Set_MyLang( "es_MX" ) // Seleccionar el idioma en MYSQl
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Consulta SQL via TDolphin

Postby MarioG » Sat Aug 15, 2020 1:32 pm

MarioG wrote:Muchas gracias Nicanor
No sabia de esto: Set_MyLang( "es_ES" ) // Seleccionar el idioma en MYSQl


Buenos dias
Usando MariaDB al compilar me devuelve error:
Error: Unresolved external '_HB_FUN_SET_MYLANG' referenced from D:\MIAPP\DEBUG\TCFGSYS.OBJ

Como la debo invocar?, o es suficiente con esto:
HB_LangSelect( "ESWIN" )
HB_SetCodePage( "ESWIN" )
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Consulta SQL via TDolphin

Postby acuellar » Sat Aug 15, 2020 2:00 pm

Mario

Yo utilizo éstos:
Code: Select all  Expand view

 HB_LANGSELECT( 'ESWIN' )
 HB_SetCodePage("ESWIN")
 HB_CDPSELECT("ESWIN")
 
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1593
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Consulta SQL via TDolphin

Postby MarioG » Sat Aug 15, 2020 2:37 pm

Gracias!

Me esta pasando un tema que hace rato no lo puedo solucionar, y tiene que ver con datos en Tablas
Escribo en una variable, por ej., "Ideas & Desarrollos"
Luego el SAY me muestra "Ideas _Desarrollos"
He probado con varias funciones, como por ej. HB_Str2UTF8(), u otras y no le encuentro la solución
Por eso intenté probar Set_MyLang()

Pruebo y comento...
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Consulta SQL via TDolphin

Postby nageswaragunupudi » Sun Aug 16, 2020 6:52 am

MarioG wrote:Gracias!

Me esta pasando un tema que hace rato no lo puedo solucionar, y tiene que ver con datos en Tablas
Escribo en una variable, por ej., "Ideas & Desarrollos"
Luego el SAY me muestra "Ideas _Desarrollos"
He probado con varias funciones, como por ej. HB_Str2UTF8(), u otras y no le encuentro la solución
Por eso intenté probar Set_MyLang()

Pruebo y comento...


We are sorry we did not provide the correct solution 2 years back when you first raised the issue.

This has nothing to do with MySql or DBF. Nothing to do with any language or codepage settings.

This is just the default behaviour of TSay class (which, in turn, uses Windows static control) to display the text. By default, when '&' is found in a string, the '&' is ommitted and next character is underlined.

We can display '&' as expected by
(1) put '&&' instead of single '&'
OR
(2) Add the style SS_NOPREFIX ( 0x80 ) to the Say object.

This sample shows the default behaviour:
Code: Select all  Expand view
#include "fivewin.ch"

function Main()

   local oWnd, oSay, cText

   cText    := "IDEAS & DESARROLLOS"

   DEFINE window oWnd
   @ 30,50 SAY oSay PROMPT cText SIZE 200,20 PIXEL OF oWnd
   ACTIVATE WINDOW oWnd CENTERED

return nil
 


Image

This test shows if we add SS_NOPREFIX style:
Code: Select all  Expand view
#include "fivewin.ch"

#define SS_NOPREFIX         0x00000080

function Main()

   local oWnd, oSay, cText

   cText    := "IDEAS & DESARROLLOS"

   DEFINE window oWnd
   @ 30,50 SAY oSay PROMPT cText SIZE 200,20 PIXEL OF oWnd
   oSay:WinStyle( SS_NOPREFIX, .t. )  // inserted
   ACTIVATE WINDOW oWnd CENTERED

return nil
 


Image

If you are using dialogs from resources, please try adding SS_NOPREFIX to the style of the control.
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10248
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 79 guests