Dados quando Insere com Caracter estranho.
Bom dia Galera
Estou com a seguinte situação, em uma aplicação Delphi com SQL Server, estou usando o MEMO, no banco de dados o campo esta Varchar(8000) para gravar texto, quando faço o insere direto no banco funciona normalmente porem quando usa a aplicação o texto some e grava somente caracteres estranhos.
Abaixo o parâmetro que recebe o texto.
queryInsert.ParamByName('OBS_problema').Value := Trim(Memo.Text)
Estou com a seguinte situação, em uma aplicação Delphi com SQL Server, estou usando o MEMO, no banco de dados o campo esta Varchar(8000) para gravar texto, quando faço o insere direto no banco funciona normalmente porem quando usa a aplicação o texto some e grava somente caracteres estranhos.
Abaixo o parâmetro que recebe o texto.
queryInsert.ParamByName('OBS_problema').Value := Trim(Memo.Text)
João Françozo
Curtidas 0
Respostas
Leandro Chiodini
03/01/2014
Você realmente quer tirar os espaços do texto?
se sim, nao vejo erro de codigo,
se naão , o TRIM nao é necessario.
para desencargo .
voce pode tentar usar
queryInsert.ParamByName('OBS_problema').asString := Trim(Memo.Text)
Usar o asString para converter explicitamente.
attm
se sim, nao vejo erro de codigo,
se naão , o TRIM nao é necessario.
para desencargo .
voce pode tentar usar
queryInsert.ParamByName('OBS_problema').asString := Trim(Memo.Text)
Usar o asString para converter explicitamente.
attm
GOSTEI 0
João Françozo
03/01/2014
OPA LEANDRO
TAMBÉM JA TINHA TESTADO ASSIM POREM DA O MESMO ERRO.
PARECE QUE O CAMPO MEMO TEM LIMITE ALGO ASSIM.
INSERI O TEXTO ABAIXO NO MEMO.
Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1
QUANDO SALVOU FICOU ASSIM ˜‚ç
TAMBÉM JA TINHA TESTADO ASSIM POREM DA O MESMO ERRO.
PARECE QUE O CAMPO MEMO TEM LIMITE ALGO ASSIM.
INSERI O TEXTO ABAIXO NO MEMO.
Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1Memo1
QUANDO SALVOU FICOU ASSIM ˜‚ç
GOSTEI 0
Leandro Chiodini
03/01/2014
mostra um print
de como esta a criação da tua tabela
de como esta a criação da tua tabela
GOSTEI 0
João Françozo
03/01/2014
Segue em anexo.
Estou com problema nos dois campos OBS_PROBLEMA E OBS_FECHAMENTO
[img:descricao=Tabela]http://arquivo.devmedia.com.br/forum/imagem/354621-20140103-154421.jpg[/img]
Estou com problema nos dois campos OBS_PROBLEMA E OBS_FECHAMENTO
[img:descricao=Tabela]http://arquivo.devmedia.com.br/forum/imagem/354621-20140103-154421.jpg[/img]
GOSTEI 0
Leandro Chiodini
03/01/2014
Cara a principio esta correto.
campo de texto com seu maximo de caracteres permitido.
faz o seguinte
vai depurando ele
ate eo inserte
e ve depois de passar pelo comand
queryInsert.ParamByName('OBS_problema').asString := Trim(Memo.Text)
qq tem dentro de
queryInsert.ParamByName('OBS_problema').asString
pra ver se esta com o valor correto neste momento.
att,
campo de texto com seu maximo de caracteres permitido.
faz o seguinte
vai depurando ele
ate eo inserte
e ve depois de passar pelo comand
queryInsert.ParamByName('OBS_problema').asString := Trim(Memo.Text)
qq tem dentro de
queryInsert.ParamByName('OBS_problema').asString
pra ver se esta com o valor correto neste momento.
att,
GOSTEI 0
João Françozo
03/01/2014
COLOQUEI UM SHOWMESSAGE DO CAMPO MEMO O MESMO RETORNOU OS MESMO VALORES.
TEM ALGUMA DICA SOBRE ISSO.
TEM ALGUMA DICA SOBRE ISSO.
GOSTEI 0
João Françozo
03/01/2014
O MEMO DEVE TER UM LIMITE DE 255 CARACTER, O QUE OBSERVEI
GOSTEI 0
Leandro Chiodini
03/01/2014
Retornou os mesmos valores?
os valores incorretos
ou o valor que voce digitou?
att,
os valores incorretos
ou o valor que voce digitou?
att,
GOSTEI 0
João Françozo
03/01/2014
RETORNOU O VALOR QUE FOI DIGITADO.
GOSTEI 0
Leandro Chiodini
03/01/2014
Cara faz o seguinte entao.
limpra os registros da tua tabela
e muda o typo do campo
pra em vez de Varchar
NVARCHAR(MAX) - dai ele usa o maximo de caracteres permitidos pelo typo, e tem suporte a dois bytes de caracteres.
tenta isso ai,
e posta o resultado.
valew.
limpra os registros da tua tabela
e muda o typo do campo
pra em vez de Varchar
NVARCHAR(MAX) - dai ele usa o maximo de caracteres permitidos pelo typo, e tem suporte a dois bytes de caracteres.
tenta isso ai,
e posta o resultado.
valew.
GOSTEI 0
João Françozo
03/01/2014
VOU FAZER ISSO POREM ACHO QUE NÃO É O BANCO DE DADOS SE EU FAZER UM UPDATE NO CAMPO FUNCIONA PERFEITAMENTE.
GOSTEI 0
Leandro Chiodini
03/01/2014
Entao depois da alteração se nao der certo,
cola o codigo todo onde vc pega o text,
e passa para o select
talvez achamos algo
att,
Chiodini
cola o codigo todo onde vc pega o text,
e passa para o select
talvez achamos algo
att,
Chiodini
GOSTEI 0
João Françozo
03/01/2014
Leandro segue abaixo.
SQL do insert e o código Delphi.
QueryInsert.ParamByName('Numero_OS').AsString := EdtOS.Text;
QueryInsert.ParamByName('DataA').AsDateTime := DateTimePicker1.DateTime;
queryInsert.ParamByName('Cod_usuario').AsString := EdtCodU.Text;
queryInsert.ParamByName('cod_situacao').AsString := ComboBox1.Text;
queryInsert.ParamByName('cod_proriedade').AsString := ComboBox2.Text;
queryInsert.ParamByName('cod_filial').AsString := EdtCodF.Text;
queryInsert.ParamByName('OBS_problema').ASString := Trim(Memo.Text);
queryInsert.ParamByName('Assunto').AsString := EdtTitulo.Text;
queryInsert.ParamByName('UsuarioLog').AsString := FrmP001.usuario;
QueryInsert.ExecSQL;
-------------------
INSERT INTO TBSUPORTE
( NUMERO_OS,
DATAA,
COD_USUARIO,
COD_SITUACAO,
COD_PRORIEDADE,
COD_FILIAL ,
OBS_PROBLEMA,
ASSUNTO,
USUARIOLOG
)
VALUES
( :NUMERO_OS,
:DATAA,
:COD_USUARIO,
:COD_SITUACAO,
:COD_PRORIEDADE,
:COD_FILIAL ,
:OBS_PROBLEMA,
:ASSUNTO,
:USUARIOLOG
)
SQL do insert e o código Delphi.
QueryInsert.ParamByName('Numero_OS').AsString := EdtOS.Text;
QueryInsert.ParamByName('DataA').AsDateTime := DateTimePicker1.DateTime;
queryInsert.ParamByName('Cod_usuario').AsString := EdtCodU.Text;
queryInsert.ParamByName('cod_situacao').AsString := ComboBox1.Text;
queryInsert.ParamByName('cod_proriedade').AsString := ComboBox2.Text;
queryInsert.ParamByName('cod_filial').AsString := EdtCodF.Text;
queryInsert.ParamByName('OBS_problema').ASString := Trim(Memo.Text);
queryInsert.ParamByName('Assunto').AsString := EdtTitulo.Text;
queryInsert.ParamByName('UsuarioLog').AsString := FrmP001.usuario;
QueryInsert.ExecSQL;
-------------------
INSERT INTO TBSUPORTE
( NUMERO_OS,
DATAA,
COD_USUARIO,
COD_SITUACAO,
COD_PRORIEDADE,
COD_FILIAL ,
OBS_PROBLEMA,
ASSUNTO,
USUARIOLOG
)
VALUES
( :NUMERO_OS,
:DATAA,
:COD_USUARIO,
:COD_SITUACAO,
:COD_PRORIEDADE,
:COD_FILIAL ,
:OBS_PROBLEMA,
:ASSUNTO,
:USUARIOLOG
)
GOSTEI 0
João Françozo
03/01/2014
O Memo só esta gravando 255 caractere, alguém sabe como alterar o tamanho.
GOSTEI 0
Vincenzo Moraes
03/01/2014
memo1.LINES.text e não memo1.text
GOSTEI 0