como colocar o resultado de uma query em uma variavel texo

06/04/2003

0

:?:
Bom dia

Estou testando as funcionalidades do TAdo no Delphi.

Ao usar o TAdoQuery em um determinado exemplo, nao consegui
colocar um campo de uma determinada tabela em uma variavel texto

O Inverso ( colocar com fieldbyname(´campo´).value:=edit1.text ) eu
consigo... e vai para o banco de dados.
Eu gostaria de fazer o contrario disso? Qual o metodo que me permite atribuir o valor no edit1.text ? O Help do Delphi 6 é enrolado, muitas propriedades, mas pouco exemplos.. Tem que ser dessa forma, porque
uma determinada aplicacao sera desenvolvida em cima disso.


Anonymous

Anonymous

Responder

Posts

06/04/2003

Anonymous

:?:
Fui seguir sua dica do dataset...mas tambem falhou.

Da uma exception alegando nao encontrar o campo.. e ai nao passa pro edit1.text como eu havia citado na mensagem anterior..

Estou acessando a partir de uma query no sql server

minha duvida: se eu usar o adodataset, tenho como aponta-lo
para ficar atualizado sempre com as respostas do tadoquery ?

Eu ja tentei de varias formas, ate agora, so tive sucesso instanciando o ado com o createleobject(´adodb.recordset´).. So que nao queria fazer desta forma.. que alias, pra esse projeto, sera importante que o Tado funcione.

Veja o trechinho do codigo da discordia, pra entender melhor minha duvida:

procedure TForm1.Button1Click(Sender: TObject);
begin

conn.open;
adoquery1.SQL.add(´select * from customers´);
adoquery1.ExecSQL; // ate aqui tudo funciona ok

// minhas tentativas frustadas, comecam abaixo, o que comentei, é que nao funcionou

// edit1.Text:=adoquery1.FieldByName(´CustomerID´).AsString;

//
edit1.text:=adodataset1.fieldbyname(´customerid´).AsString;

// edit1.text:=adoquery1.FieldValues

Ou entao NAO estou sabendo fazer isso direito ( o que é bem provavel..) como eu disse, estava testando esse componente, aprendendo a mexer com ele. Pra passar pro servidor, tudo funciona.. o problema ta sendo o inverso ( do servidor pra uma caixinha de texto por exemplo )


Responder

06/04/2003

Anonymous

Ao invés de .ExecSQL utilize .Open

O método ExecSQL deve ser utilizado qdo se executa instruções que não retornam dados, como INSERT, UPDATE e DELETE.
No caso de SELECT deve ser utilizado o método OPEN.


Responder

06/04/2003

Anonymous

:D

Muito obrigado pela dica.. Era mesmo o Open que faltava, agora funcionou
Para esse caso, realmente eu preciso de trabalho com o Tedit, senao a
aplicacao vai dar erro ao usar outro componente que nao aceita nada que nao seja Strings

Ao invés de .ExecSQL utilize .Open O método ExecSQL deve ser utilizado qdo se executa instruções que não retornam dados, como INSERT, UPDATE e DELETE. No caso de SELECT deve ser utilizado o método OPEN.



Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar