Como utilizar o comando Execute do SQLCOnnection?
Pessoal ,
Estou tentando utilizar o comando Execute do SQLConnection para retornar um pequeno resultset.
Vi que ele tem a opção de passar o Result set no terceiro parâmetro. Mas isso está dando um acess violation em meu código.
No Help fala, pode utilizar um TCustomSQLDataSet.
Meu codigo é o seguinte.
Alguem tem ideia de como passo?
Estou tentando utilizar o comando Execute do SQLConnection para retornar um pequeno resultset.
Vi que ele tem a opção de passar o Result set no terceiro parâmetro. Mas isso está dando um acess violation em meu código.
No Help fala, pode utilizar um TCustomSQLDataSet.
Meu codigo é o seguinte.
var ComandoSQL: string; vDataSet: TCustomSQLDataSet; begin vDataSet := TCustomSQLDataSet.Create(nil); vDataSet.SQLConnection := SQLConnection1; ComandoSQL := ´select * from COMOSOUBEDAESCOLA´; SQLConnection1.Execute(ComandoSQL, nil,vDataSet); vDataSet.Open; ShowMessage(IntToStr(vDataSet.RecordCount));
Alguem tem ideia de como passo?
Yallebr
Curtidas 0
Respostas
Kotho
06/05/2005
Duas coisas:
1) Não crie o objeto...
2) passe o objeto como ponteiro (@vDataSet)
1) Não crie o objeto...
2) passe o objeto como ponteiro (@vDataSet)
GOSTEI 0
Vinicius2k
06/05/2005
Colega,
Se vc verificar o parametro ´ResultSet´ do método irá perceber que é um ponteiro e também que vc não precisa criar o TCustomSQLDataSet, já que o método se encarregará disso.
Só falta o [b:36b446abc7]@[/b:36b446abc7]... :wink:
T+
Se vc verificar o parametro ´ResultSet´ do método irá perceber que é um ponteiro e também que vc não precisa criar o TCustomSQLDataSet, já que o método se encarregará disso.
Só falta o [b:36b446abc7]@[/b:36b446abc7]... :wink:
... var ComandoSQL: string; vDataSet: TCustomSQLDataSet; begin ComandoSQL := ´select * from COMOSOUBEDAESCOLA´; SQLConnection1.Execute(ComandoSQL, nil, @vDataSet); vDataSet.Open; ShowMessage(IntToStr(vDataSet.RecordCount)); vDataSet.Free; end;
T+
GOSTEI 0
Yallebr
06/05/2005
Vinicius2K e Kotho,
Obrigado.
Eu reparei no método que o parâmetro é um ponteiro.
Mas agora minha dúvida é, um objeto é um ponteiro? Se ele é, não era suficiente eu apenas colocar o objeto?
Qual é a diferença do @ nesse caso?
Por exemplo se eu utilizar o comando abaixo não irá aceitar o parametro. Sendo que espera um mesmo parametro (tipo pointer) que o Execute, pq ?
obrigado.
Obrigado.
Eu reparei no método que o parâmetro é um ponteiro.
Mas agora minha dúvida é, um objeto é um ponteiro? Se ele é, não era suficiente eu apenas colocar o objeto?
Qual é a diferença do @ nesse caso?
Por exemplo se eu utilizar o comando abaixo não irá aceitar o parametro. Sendo que espera um mesmo parametro (tipo pointer) que o Execute, pq ?
New(@vSQLDataSet)
obrigado.
GOSTEI 0