Jump to content
Fivewin Brasil

Erro ao Gravar No MySQL - cSTRBMP


Jmsilva

Recommended Posts

Olá pessoal, preciso de mais uma ajuda...

A rotina abaixo, grava em um campo MEMO do DBF sem problemas mas não consigo gravar MySQL. Alguém tem a solução?

#include "FiveWin.ch"

INIT function Main()

local cStr,cQry ,oServer

LOCAL cHost := "127.0.0.1" //ou "localhost"

LOCAL cUser := "root"

LOCAL cPsw := ""

LOCAL nPort := 3306

LOCAL cDb2 := "dbfoto"

local hBmp := ReadBitmap( 0, "FOTO.BMP" )

cStr := BmpToStr( hBmp )

//estabelece a conexão

oServer:= TMySQLServer():New( cHost, cUser, cPsw, nPort )

//abre o banco de dados

IF !oServer:SelectDb(cDb2) //abre o banco de dados

MsgStop("Banco de Dados "+cDB2+" não existe. VerIFique!")

RETURN .F.

ENDIF

//tratamento de caracteres especiais para sql

cSTR := DATATOSQL(cSTR)

IF !oServer:Execute('set global max_allowed_packet = 16777216')

MSGINFO("Erro na execução do variável global")

ENDIF

cQry := "INSERT INTO RF2010 (imgrf) value('"+Cstr+"')"

IF !oSERVER:EXECUTE(cQRY)

MSGSTOP(oSERVER:ERROR())

ENDIF

oSERVER:DESTROY()

DeleteObject( hBmp )

return nil

O Erro apresentado é o seguinte:

DATA TOO LONG FOR COLUMN IMGRF AT ROW 1.

AGRADEÇO AJUDA....

FIVEWIN+XHARBOUR.

Caraguatatuba/SP

Link to comment
Share on other sites

Olá pessoal, preciso de mais uma ajuda...

A rotina abaixo, grava em um campo MEMO do DBF sem problemas mas não consigo gravar MySQL. Alguém tem a solução?

#include "FiveWin.ch"

INIT function Main()

local cStr,cQry ,oServer

LOCAL cHost := "127.0.0.1" //ou "localhost"

LOCAL cUser := "root"

LOCAL cPsw := ""

LOCAL nPort := 3306

LOCAL cDb2 := "dbfoto"

local hBmp := ReadBitmap( 0, "FOTO.BMP" )

cStr := BmpToStr( hBmp )

//estabelece a conexão

oServer:= TMySQLServer():New( cHost, cUser, cPsw, nPort )

//abre o banco de dados

IF !oServer:SelectDb(cDb2) //abre o banco de dados

MsgStop("Banco de Dados "+cDB2+" não existe. VerIFique!")

RETURN .F.

ENDIF

//tratamento de caracteres especiais para sql

cSTR := DATATOSQL(cSTR)

IF !oServer:Execute('set global max_allowed_packet = 16777216')

MSGINFO("Erro na execução do variável global")

ENDIF

cQry := "INSERT INTO RF2010 (imgrf) value('"+Cstr+"')"

IF !oSERVER:EXECUTE(cQRY)

MSGSTOP(oSERVER:ERROR())

ENDIF

oSERVER:DESTROY()

DeleteObject( hBmp )

return nil

O Erro apresentado é o seguinte:

DATA TOO LONG FOR COLUMN IMGRF AT ROW 1.

AGRADEÇO AJUDA....

FIVEWIN+XHARBOUR.

Caraguatatuba/SP

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...