GARANTIR DESCONTO

Fórum COmando Insert into #334804

17/12/2006

0

Não consigo inserir dados na minha tabela paradox,


with QUsers do
begin
Active :=False
sql.Clear;
sql.Add(´insert into Tab_Users ´);
sql.Add(´(codigo,Nome,Login,Senha) ´);
sql.Add(´VALUES ´);
sql.Add(´(´ + EUserNome.text + ´ ,´´ + EUserLogin.Text + ´´,´´ + EUserSenha.Text + ´´, ´);
execsql;



One estará o erro.
me ajudem
uso um datasouce e uma query[/b]


Jjvoliveira

Jjvoliveira

Responder

Posts

17/12/2006

Corcos

sql.Add(´insert into Tab_Users ´); sql.Add(´(codigo,Nome,Login,Senha) ´); sql.Add(´VALUES ´); sql.Add(´(´ + EUserNome.text + ´ ,´´ + EUserLogin.Text + ´´,´´ + EUserSenha.Text + ´´, ´);


Cade o codigo? vc só esta inserindo o nome, login e senha


Responder

Gostei + 0

17/12/2006

Brasidata

Ola,
Tb sou iniciante* e nunca trabalhei com Paradox, mas pelo pouco que vi no seu código encontrei alguns erros de sintaxe:
Veja a minha sugestão:

with QUsers do begin Close; sql.Clear; sql.Add(´insert into Tab_Users ´); sql.Add(´(codigo,Nome,Login,Senha) ´); sql.Add(´VALUES ´); sql.Add(´(´ + CODIGO A SER INSERIDO + QuotedStr(EUserNome.text) + ´, ´ + QuotedStr(EUserLogin.Text) + ´, ´ + QuotedStr(EUserSenha.Text) + ´)´); //NESTA LINHA ESTAVA O ERRO MAIOR execsql; end;


Observe que você esqueceu de passar o valor a ser inserido no campo ´codigo´ e finalizou a ultima linha da propriedade sql em ´,´ e não ´)´ como deveria ser.
Não testei o código que sugeri, mas acredito que, se vc tiver ´setado´ corretamente a propriedade DATABASENAME da sua query e substituir ´CODIGO A SER INSERIDO´ devidamente tudo funcionará...

Boa sorte


Responder

Gostei + 0

17/12/2006

Jjvoliveira

amigo, o campo codigo é alto incrementavel, será que precisa.


Responder

Gostei + 0

17/12/2006

Corcos

então tira do seu insert, a estrutura de insert é

insert into table (campo1, campo2, campo3)
values
(campo1, campo2, campo3)

se vc esta colocando que vai insertir um campo na tabela e não informa na hora do insert vai dar problema


Responder

Gostei + 0

17/12/2006

Corcos

então tira do seu insert, a estrutura de insert é

insert into table (campo1, campo2, campo3)
values
(campo1, campo2, campo3)

se vc esta colocando que vai insertir um campo na tabela e não informa na hora do insert vai dar problema

como ele é auto increment coloca ele no seu insert antes do campo EUserNome.text


Responder

Gostei + 0

17/12/2006

Jjvoliveira

Não funcionaou Amigo;
begin
with Qusers do
begin
Close;
sql.Clear;
sql.Add(´insert into Tab_Users ´);
sql.Add(´(codigo,Nome,Login,Senha) ´);
sql.Add(´VALUES ´);
sql.Add(´(´ + QuoteStr(EUserCodigo.Text) + QuotedStr(EUserNome.text) + ´, ´ + QuotedStr(EUserLogin.Text) + ´, ´ + QuotedStr(EUserSenha.Text) + ´)´); //NESTA LINHA ESTAVA O ERRO MAIOR
execsql;
end;
end;


Responder

Gostei + 0

17/12/2006

Adriano_servitec

Não funcionaou Amigo; begin with Qusers do begin Close; sql.Clear; sql.Add(´insert into Tab_Users ´); sql.Add(´(codigo,Nome,Login,Senha) ´); sql.Add(´VALUES ´); sql.Add(´(´ + QuoteStr(EUserCodigo.Text) + QuotedStr(EUserNome.text) + ´, ´ + QuotedStr(EUserLogin.Text) + ´, ´ + QuotedStr(EUserSenha.Text) + ´)´); //NESTA LINHA ESTAVA O ERRO MAIOR execsql; end; end;

E se passar por parametros? Tipo assim:
with Qusers do 
begin 
Close; 
sql.Clear; 
sql.Add(´insert into Tab_Users ´); 
sql.Add(´(codigo,Nome,Login,Senha) ´); 
sql.Add(´VALUES ´); 
sql.Add(´(´: codigo, :nome, :login, :senha´)
parambyname(´codigo´).AsString:=EUserCodigo.Text;
parambyname(´Nome´).AsString:=EUserNome.Text;
parambyname(´login´).AsString:=EUserLogin.Text;
parambyname(´senha´).AsString:=EUserSenha.Text;
ExecSQL



Responder

Gostei + 0

17/12/2006

Jjvoliveira

Tem alguma coisa errada, será que é o datasource e a query
pois não consigo dar o insert na tabela.


Responder

Gostei + 0

17/12/2006

Corcos

faça sem o codigo e veja se da o insert

e a tabela crie sem ser not null no codigo e nos avise


Responder

Gostei + 0

17/12/2006

Jjvoliveira

Olhem só, uso uma tabela paradox com os seguintes campo: Codigo, Nome, Senha. chama-se Tab_Users. No meu Form uso o compnente TEdit, Uso um data module, chamado DmDados, com um data source e uma query. Meu Alias chama-se Loja.
Commo faço para dar un insert nesta Tabela, ja pesquisei mas ta feia a coisa. Sou Iniciante Em Delphi, Estou trabalhando com o Delphi 7


Responder

Gostei + 0

17/12/2006

Jjvoliveira

quando vou na propriedade Active da query e e mudo de false para true da o seguinte erro:
QUERYUSERS: NO SQL STATEMENT AVAILABLE

cOMO CORRIGIR ESSE ERRO.


Responder

Gostei + 0

17/12/2006

Brasidata

Não funcionaou Amigo; begin with Qusers do begin Close; sql.Clear; sql.Add(´insert into Tab_Users ´); sql.Add(´(codigo,Nome,Login,Senha) ´); sql.Add(´VALUES ´); sql.Add(´(´ + QuoteStr(EUserCodigo.Text) + QuotedStr(EUserNome.text) + ´, ´ + QuotedStr(EUserLogin.Text) + ´, ´ + QuotedStr(EUserSenha.Text) + ´)´); //NESTA LINHA ESTAVA O ERRO MAIOR execsql; end; end;


Pelo visto tem mais coisa errada no seu projeto além do código, mas só pra aproveitar, observe que vc esqueceu uma virgula quando substituiu o SEU CODIGO por QuoteStr(EUserCodigo.Text) + ´,´ <------
sql.Add(´(´ + QuoteStr(EUserCodigo.Text) + ´,´ + QuotedStr(EUserNome.text) + ´, ´ + QuotedStr(EUserLogin.Text) + ´, ´ + QuotedStr(EUserSenha.Text) + ´)´); // Assim seria correto...

Como eu nunca trabalhei com o paradox vou ficar te devendo mais ajuda...


Responder

Gostei + 0

18/12/2006

Jjvoliveira

preciso de ajuda para inserir dados em uma tabela paradox e para isso uso Edit e um data source e uma query.


jair


Responder

Gostei + 0

19/12/2006

Emerson Nascimento

tente assim:
with QUsers do
begin
  Close;
  sql.text := 
    ´insert into Tab_Users ´+
    ´(Nome, Login, Senha) ´+
    ´VALUES ´+
    ´(:nome, :login, :senha)´;
  parambyname(´nome´).asstring := EUserNome.text;
  parambyname(´login´).asstring := EUserLogin.Text;
  parambyname(´senha´).asstring := EUserSenha.Text;
  execsql;
end;

ou assim:
with QUsers do
begin
  Close;
  sql.text := 
    ´insert into Tab_Users ´+
    ´(Nome, Login, Senha) ´+
    ´VALUES ´+
    ´(´+QuotedStr(EUserNome.text)+´, ´+QuotedStr(EUserLogin.Text)+´, ´+QuotedStr(EUserSenha.Text) +´)´;
  execsql;
end;



Responder

Gostei + 0

19/12/2006

Jjvoliveira

amigo, tenho tambem um cmpo codigo que é autoincrementavel
COMO FAÇO

A ROTINA SEM O CODIGO FUNCIONOU, SO QUE PRECISO INCLUIR O CODIGO.

JAIR JOSE


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar