Ir para conteúdo
Fórum Script Brasil
  • 0

Gravação Com Dbexpress


Bruno Souza

Pergunta

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

Editado por Bruno Souza
Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros sites

  • 0
Ola... Estou passando exatamente pelo mesmo problema... alguém sabe alguma solução?

Veja este manual

http://manuals.sybase.com/onlinebooks/grou...iew/6985;pt=675

abraço

O site SYBASE está fora do ar.... mas é isso que você queria passar mesmo? estamos falando de MICROSOFT sql server, o seu link é do SYBASE sql server...

Link para o comentário
Compartilhar em outros sites

  • 0
O site SYBASE está fora do ar.... mas é isso que você queria passar mesmo? estamos falando de MICROSOFT sql server, o seu link é do SYBASE sql server...

Tiraram do ar .... mas lá voce encontraria um artigo sobre charset em banco de dados

Veja este outro

http://imasters.uol.com.br/artigo/262

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...