Como acessar o resultado de um Select usando ADO e SQL SERVE

18/12/2004

0

Senhores, estou querendo conhecer o valor de um campo identity de uma tabela. Para isto estou executando os seguintes comandos:
...
Var
wrp:string;
wpredio:string;


DM.ADOQPredio.Close;
DM.ADOQPredio.SQL.Clear;
StrSql:=´Select ident_current(´ + #39 + ´Predio´ + 39;
StrSql:=StrSql + ´) as wpredio´;
DM.ADOQPredio.SQL.Add(StrSql);
DM.ADOQPredio.ExecSQL;
wrp:=dm.ADOQPredio.fieldbyname(´wpredio´).AsString;

e recebo um erro na ultima instrução me informando desconhecer este campo.

Como proceder ???

Agradeço qualquer ajuda.
DM.ADOQPredio.Close;


Rounilo

Rounilo

Responder

Posts

18/12/2004

Mennahe

Use esse comando para retornar o valor maximo da coluna identity de sua tabela


SELECT MAX(IDENTITYCOL) FROM

Ate mais!!!
Estou na area!!!!!!!!!!!!!!


Responder

18/12/2004

Rounilo

Macedo, vc nao entendeu a minha duvida:

O que nao estou conseguindo eh acessar o resultado do Select.

No meu caso o comando ´select ident_current(´predio´) as wpredio´ eh bem melhor e funciona corretamente usando o Query Analyzer.


Eu não estou sabendo eh como transferir este dado obtido no comando SQL para um campo(string). Atenção: Estou tendo esta dificulade usando ADO com Sql SErver.

Obrigado


Responder

20/12/2004

Felipe_cduarte

Fala !

nao sei se vai funcionar , mas já tentou fazer esse comando:

DM.ADOQPredio.Open

ao inves de usar o ExecSQL ??

Bom , eu faço assim ...

[]´s


Responder

21/12/2004

Rounilo

Ja tentei fazer com a opção OPEN e continua o problema. Penso que este comando so posso ser usado com Transact SQL.

Obrigado


Responder

27/12/2004

Rounilo

DESCOBRI.

Usando os comandos:
var wrp:string;

ADOQPredio.Close;
ADOQPredio.SQL.Clear;
StrSql:=´Select ident_current(´ + #39 + ´Predio´ + 39 + ´) as NUMIND´;
ADOQPredio.SQL.Add(StrSql);
ADOQPredio.Open;
wrp:=ADOQPredio.Fields[0].value;

Funcionou.

O problema é que vinha tentando com os mesmos comando acima e recebia um tipo de resposta de erro. Mudava alguma coisa e recebia outro tipo de erro.

Agora, resolvi começar os teste da estaca zero, criando um novo form com um adoconnection, adoquery e um datasource. Ao definir o parametro SQL do ADOQuery ´select * from predios´ não inclui via fields editor os campos da tabela. E este fato, da não inclusão dos campos ,foi o diferencial para que o programa funcionasse OK.

Eu costumo sempre incluir todos os campos da tabela via a função Fields Editor. Pensava ser esta uma boa opção e agora vejo que não é.

Fico sem saber por que ao incluir todos os campos da tabela recebo mensagem de erro se na execução do comando SQL nao os cito.

Agradeço qualquer informação.


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