Ivan, quando estou fazendo a manutenção de um cadastro na minha aplicação, faço a consulta da linha em questão e copio os valores das colinhas nos respectivos controles da tela ( textbox, combo, etc). Quando o usuário deseja gravar, monto um comando insert ou update (dependendo do caso) lendo o conteúdo dos controles. para objetos textbox (que são gravados em um varchar/char ou text) tenho uma função no c# que faz um tratamento:

       public static string ToPGSqlString(string cString)
       {
           cString = cString.Replace(@"\", @"\\");
           cString = cString.Replace(@"'", @"\\'");
           return "'" + cString.TrimEnd() + "'";
       }

Utilizando ToPGSqlString(), gostaria que quando eu enviar para ela SANT'ANA COML LTDA, ela me retorne 'SANT\'ANA COML LTDA'.

Acredito que isso resolverá meu problema com os \n e \t que o textbox infelizmente insiste em incluir.

Grato.


Ivan Guimarães Meirelles escreveu:

Olá Marco...

Me parece que o problema ai no caso do SANT´ANA é a forma como vc está passando isso para a string SQL... poderia enviar a linha completa de sua aplicação q está fazendo isso ??

Vc está concatenando o q o usuário digitou com a string SQL ?? se SIM isso é errado.

Abraço.

*De:* [email protected] [mailto:[email protected]] *Em nome de *marco
*Enviada em:* segunda-feira, 13 de julho de 2009 17:48
*Para:* Comunidade PostgreSQL Brasileira
*Assunto:* Re: [pgbr-geral] PostgreSql + C#

OK, vou ler sobre o DAAB.
O meu problema é o seguinte;
Se o usuário informar uma raão social como: SANT´ANA COML. LTDA. Isso querá que ter um tratamento pois se enviar isto para o PG vai dar erro: *update clientes set razaosocial = 'SANT´ANA COML. LTDA' where codigo = '00012';* Outra coisa: em um textbox (multiline) o usuário escreve o que quer. Quebra de linha, apostrofo ou mesmo a barra ( \ ). Exemplo: *update clientes set observacao = 'Entregar no seguinte endereço:\nRua São José, 30 - 2º andar/sala 30' where codigo = '00012';*

e por ai vai.

Grato.

Henrique Jacob escreveu:

o DAAB é uma framework da Microsoft. que entre muitas coisas, abstrai a persistência do BD com facilidades para criação de uma DALC - Se vc não usa nenhuma ORM, vai "chorar" com as facilidades que o DAAB pode te oferecer!

Segue o link. http://www.codeplex.com/entlib

Agora para "contornar" o seu problema com o \n. Explique melhor o seu cenário que posso tentar te ajudar!

2009/7/13 marco <[email protected] <mailto:[email protected]>>

OK, eu sei que o problema é do C#, só queria saber como o pessoal contorna isto.

Quanto ao DAAB, não sei o que é isto.

Grato pela atenção.

Henrique Jacob escreveu:

    Cara, tenta usar a extensão do DAAB para o PG.

     Sou novo em PG e não sei se existe duas versões do NPGSQL, uma
    normal e uma com DAAB.

      Mas um \n é "normal" dependendo do seu contexto.

        Veja se sua aplicação está fazendo o que vc realmente quer....
    Esse "problema" não é do PG e sim do C#

               []'s

    2009/7/13 marco <[email protected] <mailto:[email protected]>>

    Simplesmente criei uma aplicação, inclui o NPGSQL. Conectei e
    inseri no banco os dados uqe estão na tela com insert simples,
    pois minha janela não está conectada diretamente ao banco/tabela.

    Henrique Jacob escreveu:

    Vc implementou a sua DALC ou usou a extensão para DAAB?

    2009/7/13 marco <[email protected] <mailto:[email protected]>>

    Saudações a todos.

    Gostaria de saber se alguém aqui desenvolve aplicações C#
    utilizando o PG + NPGSQL (ADO.NET <http://ado.net/>) ?
    O meu problema é o seguinte:
        Quando vou gravar uma string no PG ( text, varchar ou char )
    quando há quebra de linha ou tabs o c# inclui os caracteres escape
    \n, \t, etc.. Vocês tem problemas neste sentido ? Tem algum método
    para converter as strings antes de salvar no banco ?

    Ficarei grato por quaquer ajuda.

--
        

    *Marco Antonio J. Victor*
    Fone/Fax: *11 2977-5406*
    www.tactor.com.br <http://www.tactor.com.br/>


    _______________________________________________
    pgbr-geral mailing list
    [email protected]
    <mailto:[email protected]>
    https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

    ------------------------------------------------------------------------


    _______________________________________________

    pgbr-geral mailing list

    [email protected] 
<mailto:[email protected]>

    https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

    ------------------------------------------------------------------------


    Nenhum vírus encontrado nessa mensagem recebida.

Verificado por AVG - www.avgbrasil.com.br <http://www.avgbrasil.com.br/>
    Versão: 8.5.387 / Banco de dados de vírus: 270.13.12/2235 - Data de 
Lançamento: 07/13/09 05:56:00

--
        

    *Marco Antonio J. Victor*
    Fone/Fax: *11 2977-5406*
    www.tactor.com.br <http://www.tactor.com.br/>


    _______________________________________________
    pgbr-geral mailing list
    [email protected]
    <mailto:[email protected]>
    https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

    ------------------------------------------------------------------------


    _______________________________________________

    pgbr-geral mailing list

    [email protected] 
<mailto:[email protected]>

    https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

    ------------------------------------------------------------------------


    Nenhum vírus encontrado nessa mensagem recebida.

Verificado por AVG - www.avgbrasil.com.br <http://www.avgbrasil.com.br/>
    Versão: 8.5.387 / Banco de dados de vírus: 270.13.12/2235 - Data de 
Lançamento: 07/13/09 05:56:00

--

        

*Marco Antonio J. Victor*
Fone/Fax: *11 2977-5406*
www.tactor.com.br <http://www.tactor.com.br/>


_______________________________________________
pgbr-geral mailing list
[email protected] <mailto:[email protected]>
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



------------------------------------------------------------------------


_______________________________________________
pgbr-geral mailing list
[email protected] <mailto:[email protected]>
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
------------------------------------------------------------------------


Nenhum vírus encontrado nessa mensagem recebida. Verificado por AVG - www.avgbrasil.com.br <http://www.avgbrasil.com.br> Versão: 8.5.387 / Banco de dados de vírus: 270.13.12/2235 - Data de Lançamento: 07/13/09 05:56:00
--

        

*Marco Antonio J. Victor*
Fone/Fax: *11 2977-5406*
www.tactor.com.br <http://www.tactor.com.br>

------------------------------------------------------------------------

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
------------------------------------------------------------------------


Nenhum vírus encontrado nessa mensagem recebida.
Verificado por AVG - www.avgbrasil.com.br Versão: 8.5.387 / Banco de dados de vírus: 270.13.13/2237 - Data de Lançamento: 07/14/09 05:56:00


--
        *Marco Antonio J. Victor*
Fone/Fax: *11 2977-5406*
www.tactor.com.br

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a