1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Anuncie Aqui
    Anuncie aqui você Também: fdantas@4each.com.br

Urgente Conexão ODBC estabelecida mas só consigo ler tabela

Discussão em 'Progress 4GL' iniciado por Felipe Amaral de Souza, Março 2, 2017.

  1. lucasiam

    lucasiam Membro Participativo

    Existe alguma outra forma mais prática de montar essas query de insert?
    Estou usando o ADODB pra popular algumas tabelas grandes, e é um porre formatar uma String de query contendo mais de 30 campos pra popular. rsrsrs
  2. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    simples, eu acho, se a tabela SQL tem os mesmos campos, mesmos nomes de campos que a tabela progress, então faça uma query dinamica, pela query dinamica vc consegue o nome e o valor de cada campo via programação, dai é só criar a string usando comandos progress.
  3. rafael.andrade

    rafael.andrade Membro Master Moderador Equipe de Suporte

    Ou você pode criar uma variável global contendo o INSERT e usar palavras chave, depois só fazer o Replace antes de executar a query.

    Tipo:
    DEF VAR gQuery AS CHAR.

    ASSIGN gQuery = "INSERT INTO myTable(nome,idade,sexo) VALUES(@Nome,@Idade,@Sexo).

    Na hora de executar:
    DEF VAR lQuery AS CHAR.

    lQuery = gQuery.
    lQuery = REPLACE("@Nome",QUOTER("Rafael")).
    lQuery = REPLACE("@Idade","33").
    lQuery = REPLACE("@Sexo",QUOTER("Masculino")).
  4. rafael.andrade

    rafael.andrade Membro Master Moderador Equipe de Suporte

    Errei o REPLACE, Faltou colocar a variável, o correto é:
    lQuery = REPLACE(lQuery,"@Nome",QUOTER("Rafael")).
    lQuery = REPLACE(lQuery,"@Idade","33").
    lQuery = REPLACE(lQuery,"@Sexo",QUOTER("Masculino")).
  5. rafael.andrade

    rafael.andrade Membro Master Moderador Equipe de Suporte

    Dá pra fazer o mesmo pra qualquer query que desejar.
  6. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    dá pra usar o substitute() também
    rafael.andrade curtiu isso.

Compartilhe esta Página