Jump to content
Fórum Script Brasil
  • 0

Gravação Com Dbexpress


Bruno Souza
 Share

Question

Olá Amigos,

Estou com um big problema em meu banco de dados...

Estou fazendo um sistema em Delphi 7 com conexões DBExpress e ClientDataSet, meu banco de dados é o MSSQL 7

Quando insiro um novo registro no banco apartir do sistema ele inclui perfeitamente, quanto a isso não tenho problema algum, o meu problema é a maneira que ele insere uma string no banco...

... no final da string ele sempre coloca um caracter desconhecido... um quadradinho, como se fosse um "enter", igual na figura abaixo

errosqlcl3.gif

E eu não posso deixar este caractere em minhas strings pois vou importar dados de uma tabela paradox para o MSSQL 7 e quando uma string que não contenha este caracter estranho o meu sistema não consegue fazer nada com ela, não consegue alterar, não consegue excluir... tipo se o dado não foi gravado pelo delphi ele não reconhece...

Problema com o banco não é... pois tenho outros sistemas com conexões BDE e ADO e funcionam perfeitamente... Só agora que estou desenvolvendo com DBExpress e ClientDataSet que apareceu este problema, creio eu que seja algo com o DBExpress.

Já tentei mandar um TRIM antes de inserir no banco mas não adiantou...

Minha dúvida é: Alguém já teve um problema deste ??? Alguém sabe como retirar este caractere das string ?

Agradeço desde Já...

Edited by Bruno Souza
Link to comment
Share on other sites

15 answers to this question

Recommended Posts

  • 0

Esse problema tem haver com o codigo de pagina setado para o windows ... no xp ele deve estar no arquivo config.ini, no windows 95/98 ele esta no arquivo config.sys.

esse caracter que aparece no final na verdade é um controle de pagina que não deveria aparecer.

se quiser saber um pouco mais sobre o assunto veja:

http://translate.google.com/translate?hl=p...Dpt-BR%26sa%3DG

Link to comment
Share on other sites

  • 0
Da uma verificada no Language Drive do MSSQL 7 acho que da pra resolver por ele;
Jonas, realmente este é um aspecto que as vezes não é levado em conta. Em alguns casos a conexão deve ser configurada para utilizar os mesmos char set e collate definidos no banco para evitar problemas com acentuação.

Mas, observando a imagem exemplo, você não acha estranho que numa lista de 4 itens, apenas um deles esteja com o problema, já que supostamente o problema deveria ocorrer para cada registro gravado?

Abraços

Link to comment
Share on other sites

  • 0
Mas, observando a imagem exemplo, você não acha estranho que numa lista de 4 itens, apenas um deles esteja com o problema, já que supostamente o problema deveria ocorrer para cada registro gravado?

Então Micheus, o problema acontece com todos os outros items...

... só que este caracter estranho só fica visivel quando se aplica o foco... ele só mostra o quadradinho quando eu entro no SQL Server e clico com o mouse em cima do item...

Link to comment
Share on other sites

  • 0

Isto acontece tambem com o DBase mas não vi este tipo de ocorrencia com o paradox e nem com o interbase... tente fazer o seguinte teste... ao invés de usar o sql server verifique se isto ocorre dentro de um dbgrid e me informe.

Por mais estranho que possa parecer Micheus, este tipo de coisa acontece em alguns registros e não em todos.

quanto ao LANGDRIVE do MSQL 7 tente usar o Borland PTG Latin-1 caso não de certo tente o MSSQL ANSI Greek

Link to comment
Share on other sites

  • 0

Oi Bruno ... na Opção LocaleCode voce pode tentar os seguintes codigos

10000 - Standard Macintosh

1250 - Windows EE

1251 - Russian Windows

1252 - Windows ANSI

1253 - Greek Windows

437 - U.S. MS-DOS

620 - Mazovia (Polish) MS-DOS

737 - Greek MS-DOS (437G)

850 - International MS-DOS

852 - EE MS-DOS (Latin II)

861 - Iceland MS-DOS

865 - Nordic MS-DOS

866 - Russian MS-DOS

895 - Kamenicky (Czech) MS-DOS

Link to comment
Share on other sites

  • 0
Guest --robson --

Jonas tive o mesmo problema a solução é o seguinte:

você deve está usando parametro ex:

query1.ParamByName('teste').AsString := Edi1.Text;

faça assim:

query1.Sql[1] := 'teste = ''' + Edit1.Text +''''

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
Answer this question...

×   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.

 Share



  • Forum Statistics

    • Total Topics
      150.1k
    • Total Posts
      647.1k
×
×
  • Create New...