[firebase-br] Ajuda em Insert

Paulo Henrique Mendes Martin paulo.mendes87 em gmail.com
Qua Jun 7 19:25:18 -03 2006


Hoje estava eu migrando meu mísero banco de dados ACCESS para FIREBIRD, Ok,
achei que não ia ser muito complicado, quando me deparei com UPDATE, tentei
fazer via códgio (assumam que estou usando VB6) mas nada deu certo, pelo
contrário foi pior ainda.

As dúvidas são o seguinte.

Analogamente o que é um Memo no firebird??? Eu fiz um varchar de size 200.

porque isso não funciona.

UPDATE [TABELA] SET [TABELA].[CAMPO]="[VALOR]"

assumindo que eu esteja em um for e valor é uma string Null??? Ele da erro
de compatibilidade no SQL comand por causa de ser nulo, então tive que
tratar isso e fazer a variável valer "" para entrar, creio que não faça
sentido isso.

E porque o mesmo UPDATE não funciona quando a data é nula???Qual é o
equivalente nulo a data?? Pois também dá erro de compatibilidade.
A princípio eu estou tratando tudo isso no meu for, tive que fazer isso para
tratar cada campo da minha tabela.

Eu consegui fazer a migração sob muita gambiarra, mas queria saber um jeito
de eu não ter que ficar tratando as variáveis quando elas são nulas, só para
esclarecer melhor esse é mais ou menos o meu código


F = Array("Campo1", "Campo2") ' Esse são os nomes dos campos da tabela do
Firebird
X = Array(Rec(Campo1), Rec(Campo2)) ' Aqui são os campos em Recordset da
tabela do Access

Rec.MoveFirst

Do Until Rec.EOF
   FOR Cont = 0 to 0
       sqlF = "INSERT INTO socios (" & F(Cont) & ") Values" "("&  ' " &
X(Cont) & " ' &")"
       cn.Execute (sqlF) 'cn é o banco Firebird
       FOR Cont2= 1 to 1
            sqlF="UPDATE socios SET socios." & F(Cont) & "=" ' & X(Cont) & "
'
            cn.Execute (sqlF)
        Next
     Next
Loop

E basicamente isso, eu fiz de cabeça agora, não sei se tem alguma coisa
errada, não sei se me expressei bem, mas caso haja dúvidas com minha dúvida
é só discorrer sobre esse assunto.



Mais detalhes sobre a lista de discussão lista