Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

aquilisfelipe

simples,mas não p mim(ainda)

Recommended Posts

olá ainda tenho dúvidas com relação ao sql aplicado no delphi .

o que esta acontecendo comigo é o seguinte.

trabalho com um server mysql(ubuntu)e os aplicativos usados pela empresa são em delphi.

tenho que verificar se o cliente existe pelo nº do cpf (select)

cadastrar ou atualizar o cliente caso o mesmo nao exista ou exista e esteja incorreto (insert/update)

após isso feito os dados da mesma devem ser inseridos na tab_contrato

com serie =99

numero(buscar maior que 99=1)

gravar cliente cpf

papel moeda =y

 

e apos isso gravar endereço de entrega na tab_entrega

 

 

essa é minha unit

 

 

unit UYouClube;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ComCtrls, DB, ADODB, StdCtrls, Buttons, Grids, DBGrids;

 

type

TfrmYouClube = class(TForm)

Paginas: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

ADOConnection1: TADOConnection;

TabSheet3: TTabSheet;

QrComprar: TADOQuery;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

BitBtn1: TBitBtn;

QrComprarnped: TWideStringField;

QrComprarcodprod: TWideStringField;

QrComprarvalor: TWideStringField;

QrComprarquant: TIntegerField;

QrComprarpresente: TStringField;

QrComprarpeso: TStringField;

QrComprarcor: TStringField;

QrComprarpersonalizado: TWideStringField;

QrComprarvoltagem: TStringField;

QrComprartamanho: TStringField;

QrComprarcont: TIntegerField;

QrComprarcodcli: TWideStringField;

QrComprardata: TDateTimeField;

QrComprarforma: TStringField;

QrComprarvalorpgto1: TStringField;

QrComprardatapgto1: TDateTimeField;

QrComprartid: TStringField;

QrComprarentrega: TStringField;

QrComprarvalorentrega: TStringField;

QrComprarestatus: TStringField;

QrComprarendereco: TWideStringField;

QrComprarnumero: TWideStringField;

QrComprarcomplemento: TWideStringField;

QrComprarbairro: TWideStringField;

QrComprarcidade: TWideStringField;

QrComprarestado: TWideStringField;

QrComprarcep1: TWideStringField;

QrComprarcep2: TWideStringField;

QrComprarnome_entrega: TWideStringField;

QrComprardataentrega: TStringField;

QrComprarsite: TStringField;

QrComprarDescricao: TStringField;

QrComprarFAB: TStringField;

QrComprarcpf: TStringField;

QrGravar: TADOQuery;

QrGravarnped: TWideStringField;

QrGravarcodprod: TWideStringField;

QrGravarvalor: TWideStringField;

QrGravarquant: TIntegerField;

QrGravarpresente: TStringField;

QrGravarpeso: TStringField;

QrGravarcor: TStringField;

QrGravarpersonalizado: TWideStringField;

QrGravarvoltagem: TStringField;

QrGravartamanho: TStringField;

QrGravarcont: TIntegerField;

QrGravarcodcli: TWideStringField;

QrGravardata: TDateTimeField;

QrGravarforma: TStringField;

QrGravarvalorpgto1: TStringField;

QrGravardatapgto1: TDateTimeField;

QrGravartid: TStringField;

QrGravarentrega: TStringField;

QrGravarvalorentrega: TStringField;

QrGravarestatus: TStringField;

QrGravarendereco: TWideStringField;

QrGravarnumero: TWideStringField;

QrGravarcomplemento: TWideStringField;

QrGravarbairro: TWideStringField;

QrGravarcidade: TWideStringField;

QrGravarestado: TWideStringField;

QrGravarcep1: TWideStringField;

QrGravarcep2: TWideStringField;

QrGravarnome_entrega: TWideStringField;

QrGravardataentrega: TStringField;

QrGravarsite: TStringField;

QrGravarDescricao: TStringField;

QrGravarFAB: TStringField;

QrGravarcpf: TStringField;

QrBuscaCli: TADOQuery;

QrBuscaClinped: TWideStringField;

QrBuscaClicodprod: TWideStringField;

QrBuscaClivalor: TWideStringField;

QrBuscaCliquant: TIntegerField;

QrBuscaClipresente: TStringField;

QrBuscaClipeso: TStringField;

QrBuscaClicor: TStringField;

QrBuscaClipersonalizado: TWideStringField;

QrBuscaClivoltagem: TStringField;

QrBuscaClitamanho: TStringField;

QrBuscaClicont: TIntegerField;

QrBuscaClicodcli: TWideStringField;

QrBuscaClidata: TDateTimeField;

QrBuscaCliforma: TStringField;

QrBuscaClivalorpgto1: TStringField;

QrBuscaClidatapgto1: TDateTimeField;

QrBuscaClitid: TStringField;

QrBuscaClientrega: TStringField;

QrBuscaClivalorentrega: TStringField;

QrBuscaCliestatus: TStringField;

QrBuscaCliendereco: TWideStringField;

QrBuscaClinumero: TWideStringField;

QrBuscaClicomplemento: TWideStringField;

QrBuscaClibairro: TWideStringField;

QrBuscaClicidade: TWideStringField;

QrBuscaCliestado: TWideStringField;

QrBuscaClicep1: TWideStringField;

QrBuscaClicep2: TWideStringField;

QrBuscaClinome_entrega: TWideStringField;

QrBuscaClidataentrega: TStringField;

QrBuscaClisite: TStringField;

QrBuscaCliDescricao: TStringField;

QrBuscaCliFAB: TStringField;

QrBuscaClicpf: TStringField;

procedure FormCreate(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

frmYouClube: TfrmYouClube;

 

implementation

 

{$R *.dfm}

 

procedure TfrmYouClube.FormCreate(Sender: TObject);

begin

Paginas.ActivePageIndex := 0;

end;

 

procedure TfrmYouClube.BitBtn1Click(Sender: TObject);

var

cpf:String;

begin

 

QrComprar.Close;

QrComprar.parameters.ParamByName('cpf').AsString := QrComprarcpf.AsString;

QrComprar.open;

 

if QrComprar.RecordCount = 1 then

begin

QrComprar.sql.Clear;

QrComprar.sql.Text := 'update tab_clientes set nome = '''+

'QrComprarnome_entrega.AsString+'

''' where cpf = ("'+QrComprarcpf.text+'","'+QrComprarnped.text+'","'+QrComprarcodprod.text+'","'+QrComprarcodcli.text+'","'+QrComprarendereco.text+'","'+QrComprarcep1.text+'","'+QrComprarcomplemento.text+'","'+QrComprarbairro.text+'","'+QrComprarcidade.text+'","'+QrComprarestado.text+'","'+QrComprarnome_entrega.text+'")';

QrGravar.ExecSql;

end else

begin

QrGravar.Sql.Clear;

QrGravar.Sql.add('insert into tab_clientes (cpf,nome_entrega,nped,codcli,data,endereço,numero,complemento,bairro,cidade,estado,cep1,nome_entrega');

'Values ("'+QrComprarcpf.text+'","'+QrComprarnped.text+'","'+QrComprarcodprod.text+'","'+QrComprarcodcli.text+'","'+QrComprarendereco.text+'","'+QrComprarcep1.text+'","'+QrComprarcomplemento.text+'","'+QrComprarbairro.text+'","'+QrComprarcidade.text+'","'+QrComprarestado.text+'","'+QrComprarnome_entrega.text+'")';

'''+QrComprarcpf.AsString+''' ,'''+QrComprarnome_entrega.AsString+''');

QrGravar.ExecSql;

end;

 

end.

 

 

 

e esse é o erro

 

[Error] UYouClube.pas(150): Undeclared identifier: 'AsString'

[Error] UYouClube.pas(158): Missing operator or semicolon

[Error] UYouClube.pas(164): Statement expected, but expression of type 'String' found

[Error] UYouClube.pas(165): Statement expected, but expression of type 'String' found

[Fatal Error] ViaPlan.dpr(451): Could not compile used unit 'UYouClube.pas'

 

 

 

por favor se alguem puder me ajudar agradeço

 

 

Att.

aquilis parreira

 

aquilisfelipe@gmail.com

aquilisfelipeparreira@hotmail.com

 

 

 

obs: a empresa que trabalho precisa de programador visual p free lance

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz tempo que não programo em delphi, mas meio de cabeça:

 

[Error] UYouClube.pas(150): Undeclared identifier: 'AsString'

Você usou o método ParamByName que não tem a propriedade AsString, você pode fazer assim:

QrComprar.parameters.ParamByName('cpf').Value := QrComprarcpf.AsString;

 

[Error] UYouClube.pas(158): Missing operator or semicolon

Você codificou assim:

'QrComprarnome_entrega.AsString+'.

 

O certo seria:

'QrComprarnome_entrega.AsString' +

 

[Error] UYouClube.pas(164): Statement expected, but expression of type 'String' found

[Error] UYouClube.pas(165): Statement expected, but expression of type 'String' found

Você codificou assim:

QrGravar.Sql.add('insert into tab_clientes (cpf,nome_entrega,nped,codcli,data,endereço,numero,complemento,bairro,cidade,estado,cep1,nome_entrega');
'Values ("'+QrComprarcpf.text+'","'+QrComprarnped.text+'","'+QrComprarcodprod.text+'","'+QrComprarcodcli.text+'","'+QrComprarendereco.text+'","'+QrComprarcep1.text+'","'+QrComprarcomplemento.text+'","'+QrComprarbairro.text+'","'+QrComprarcidade.text+'","'+QrComprarestado.text+'","'+QrComprarnome_entrega.text+'")';
'''+QrComprarcpf.AsString+''' ,'''+QrComprarnome_entrega.AsString+''');

O certo seria:

QrGravar.Sql.add('insert into tab_clientes (cpf,nome_entrega,nped,codcli,data,endereço,numero,complemento,bairro,cidade,estado,cep1,nome_entrega) ' + 
'Values ("'+QrComprarcpf.text+'","'+QrComprarnped.text+'","'+QrComprarcodprod.text+'","'+QrComprarcodcli.text+'","'+QrComprarendereco.text+'","'+QrComprarcep1.text+'","'+QrComprarcomplemento.text+'","'+QrComprarbairro.text+'","'+QrComprarcidade.text+'","'+QrComprarestado.text+'","'+QrComprarnome_entrega.text+'",' +
''''+QrComprarcpf.AsString+''' ,'''+QrComprarnome_entrega.AsString+''')');

 

 

[Fatal Error] ViaPlan.dpr(451): Could not compile used unit 'UYouClube.pas'

Esse erro deve sumir acertando acima

 

Cara com essas alterações o código deve compilar, mas não pude testar pois não tenho nem a tabela nem o formulário.

Outra coisa, aparentemente a tua instrução sql de inserção está errada aí vai gerar um erro no mysql. Acredito que seria melhor você fazer consultas e alterações parametrizadas.

 

Espero que tenha ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

sou grato pela ajuda me abriu os olhos,mudei um pouco o codigo inicial,

mas ainda encontro erro de sql já verifiquei e nada encontrei. se você por percebe-lo

por favor me indica onde e por que ele ocorre.vou tentar usar o mysql-front para me ajudar tb.

 

a unit ficou assim.

var

frmYouClube: TfrmYouClube;

 

implementation

uses UDados;

{$R *.dfm}

 

procedure TfrmYouClube.FormCreate(Sender: TObject);

begin

Paginas.ActivePageIndex := 0;

end;

procedure TfrmYouClube.BitBtn1Click(Sender: TObject);

var

cpf:string;

begin

QrComprar.Close;

QrComprar.Open;

while not QrComprar.Eof do

begin

QrBuscaCli.Close;

QrBuscaCli.ParamByName('cpf').AsString := QrComprarcpf.AsString;

QrBuscaCli.Open;

if QrBuscaCliqtd.AsInteger <> 1 then

begin

QrGravar.Close;

QrGravar.Sql.Clear;

QrGravar.Sql.Add (' insert into tab_clientes '+

'(nome,numero,cpf,rua,complemento,bairro,uf,cep1,cep2,Tel1,ddd_cel,celular,ddd_com,tel2)' +

' values '+

'("'+QrComprarnome.AsString+

'","'+QrComprarnumero.AsString + '","'+QrComprarcpf.AsString+

'","'+QrComprarendereco.AsString+'","'+QrComprarcomplemento.AsString+

'","'+QrComprarbairro.AsString+'","'+QrComprarestado.AsString+

'","'+QrComprarcep1.AsString+'","'+QrComprarcep2.AsString+

'","'+QrComprarTel1.AsString+'","'+QrComprarddd_cel.AsString+

'","'+QrComprarcelular.AsString+'","'+QrComprarddd_com.AsString+

'","'+QrComprartel2.AsString+'")');

QrGravar.ExecSql;

end else

begin

QrGravar.Close;

QrGravar.Sql.Clear;

QrGravar.Sql.Add('update tab_clientes '+

' set nome = "'+QrComprarnome.AsString+

'",numero = "'+QrComprarnumero.AsString+'",cpf = "'+QrComprarcpf.AsString+

'",endereco = "'+QrComprarendereco.AsString+'",complemento = "'+QrComprarcomplemento.AsString+

'",bairro = "'+QrComprarbairro.AsString+'",estado = "'+QrComprarestado.AsString+

'",cep1 = "'+QrComprarcep1.AsString+'",cep2 = "'+QrComprarcep2.AsString+

'",Tel1 = "'+QrComprarTel1.AsString+'",ddd_cel = "'+QrComprarddd_cel.AsString+

'",celular = "'+QrComprarcelular.AsString+'",ddd_com = "'+QrComprarddd_com.AsString+

'",tel2 = "'+QrComprartel2.AsString+'"'+

 

 

'where nome = "'+QrComprarnome.AsString+

'",numero = "'+QrComprarnumero.AsString + '",cpf = "'+QrComprarcpf.AsString+

'",endereco = "'+QrComprarendereco.AsString+'",complemento = "'+QrComprarcomplemento.AsString+

'",bairro = "'+QrComprarbairro.AsString+'",estado = "'+QrComprarestado.AsString+

'",cep1 = "'+QrComprarcep1.AsString+'",cep2 = "'+QrComprarcep2.AsString+

'",Tel1 = "'+QrComprarTel1.AsString+'",ddd_cel = "'+QrComprarddd_cel.AsString+

'",celular = "'+QrComprarcelular.AsString+'",ddd_com = "'+QrComprarddd_com.AsString+

'",tel2 = "'+QrComprartel2.AsString+'" )');

QrGravar.ExecSql;

end;

QrComprar.Next;

end;

 

 

 

 

e o erro é esse

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' numero = QrComprarnumero,cpf = QrComprarcpf, endereco = QrCompr

 

 

 

procurei perto de numero e nada vejo de errado. se enxergar por favor me avisa.rsrsr

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao sei se você ja resolveu o problema mass ai vai uma coisa que eu acredito que seja o erro;

ta na forma de passar o parametro

 

Voce esta usando ADOQuery. ADO usa .value e nao .asString como vi no codigo!!! use o "Code Completation" CTRL+Espaço para ver as opções do componente.

 

para passsar parametros você usa assim:

 

Se o tipo da variavel Parametro for igual ao ValorParaParametro

Query.Parameters.ParamByName('parametro').value := ValorParaParametro;

 

ou se ValorParaParametro for String e a tabela requer inteiro

 

Query.Parameters.ParamByName('parametro').value := StrToint(ValorParaParametro);

 

ou se ValorParaParametro for Inteiro e a tabela requer string

Query.Parameters.ParamByName('parametro').value := IntToStr(ValordoParametro);

 

você passa conforme a necessidade da tabela..

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.