Comando INSERT em mais de uma linha!?!?
02/12/2003
0
em um cadastro via SQL, como procedo para ter meu comando insert em mais de uma linha (continuacao do comando uma linha abaixo da outra) para evitar que a linha de comando seja muito extensa??? Imaginem se possuo o cadastro de 50 campos, isso se torna impossível executar em apenas uma única linha.. muitos caracteres..
como procedo ? faço minha inclusao da seguinte forma....
Query1.Active := False;
Query1.SQL.Clear;
Query1.Sql.Add(´insert into tabela1 (nome, cidade, endereco, .... values (´+´´´´+editNome.text+´´´´+´,´+´´´´+editCidade.text+´´´´+´,´ .....)
uso o q para continuar na linha de baixo ????
Ce
Post mais votado
03/12/2003
Query1.Active := False; Query1.SQL.Clear; Query1.Sql.Add(´insert into tabela1 (nome, cidade, endereco, ´); Query1.Sql.Add(´campo2, campo3, campo 4, .... )´); Query1.Sql.Add(´values (´ + ´´´´ + editNome.text + ´´´´, ... );
Pode quebrar o insert em qq canto, pq, assim como em delphi, tanto faz se você escrever
if (i > 10) then begin doSomething; doSomethingelse; end else begin doThis; doThat; end
e
if (i > 10) then begin doSomething; doSomethingelse; end else begin doThis; doThat; end
Pq, no final das contas, o compilador não vai se importar com quebras de linha nem nada, o que realmente importa é se a sintaxe está correta.
Espero ter ajudado! :) Abraços, dEUS.
Deus
Mais Posts
03/12/2003
Aroldo Zanela
Na prática, você poderia fazer da sequinte forma:
Query1.Active := False; Query1.SQL.Clear; Query1.Sql.Add(´insert into tabela1 (nome, cidade,´+ ´endereco, .... values (´+´´´´+editNome.text+´´´´+´,´+´´´´+editCidade.text+´´´´+´,´ .....)
Ou seja, fechar o delimitador ´´´ e adicionar um operador de concatenação ´+´, passar para o outra linha e abrir o delimitador ´´´.
Mas a utilização do método ADD vai facilitar a leitura do fonte e evitar problema de estouro de string.
04/12/2003
Ce
mas.. e se tiver um campo memo ? como faço para inserir os dados do memo no meu insert ? Tenho declarado o Memo na tabela como tipo TEXT .. mas e no form, como faço para gravar ?
[quote:f42d8e2c0c=´Aroldo Zanela´]Colega,
Na prática, você poderia fazer da sequinte forma:
Query1.Active := False; Query1.SQL.Clear; Query1.Sql.Add(´insert into tabela1 (nome, cidade,´+ ´endereco, .... values (´+´´´´+editNome.text+´´´´+´,´+´´´´+editCidade.text+´´´´+´,´ .....)
Ou seja, fechar o delimitador ´´´ e adicionar um operador de concatenação ´+´, passar para o outra linha e abrir o delimitador ´´´.
Mas a utilização do método ADD vai facilitar a leitura do fonte e evitar problema de estouro de string.[/quote:f42d8e2c0c]
05/12/2003
Aroldo Zanela
Mais fácil ainda, veja o exemplo:
Query1.SQL.Text := Memo1.Lines.Text;
05/12/2003
Cristiane.spl
WITH DM.qrytabela1 DO
BEGIN
CLOSE;
SelectSQL.Clear;
SelectSQL.Add(´INSERT INTO tabela1´);
SelectSQL.Add(´(CAMPO1,CAMPO2,CAMPO3)´);
SelectSQL.Add(´VALUES´);
SelectSQL.Add(´(´´´+edtCAMPO1+´´´,´);
SelectSQL.Add(´´´´+edtCAMPO2+´´´,´);
SelectSQL.Add(´´´´+edtCAMPO3+´´´)´);
ExecSQL;
END;
Clique aqui para fazer login e interagir na Comunidade :)