pegar id do registro no DBGRID
Pessoal, tenho uma consulta no dbgrid e quero que ao cliclar no registro desejado pegar o id do registro para editar seus dados.
Uso os compenentes das paletas:
DBEXPRESS:
SqlConnection
SQLQuery
DATA ACCESS:
DataSource
DataSetProvider
ClienteDataSet
O código está assim:
Dessa forma ele sempre pegar o ID 1.
Quando utilizava o BD do ACCESS e utilizava os componentes da paleta ADO funcionava assim, agora mudei para o firebird e estou utilizando os componentes citados acima, ñ funciona mais.
No DataModule está assim:
TSQLQuery
SqlConnection = TSQLConnection
SQL = SELECT * FROM TABELA
ACTIVE = FALSE
DATA SOURCE
DATASET = ClienteDataSet
DATASETPROVIDER
DATASET = TSQLQuery
CLIENTEDATASET
ProviderName = DataSetProvider
Active = True
Uso os compenentes das paletas:
DBEXPRESS:
SqlConnection
SQLQuery
DATA ACCESS:
DataSource
DataSetProvider
ClienteDataSet
O código está assim:
procedure Tfrm_ConsultaEmail.DBGrid1DblClick(Sender: TObject); var codigo_email : String; begin codigo_email := DM.QRY_emailID_EMAIL.AsString; Visible:=False; frm_MovEmail:=Tfrm_MovEmail.Create(self); end;
Dessa forma ele sempre pegar o ID 1.
Quando utilizava o BD do ACCESS e utilizava os componentes da paleta ADO funcionava assim, agora mudei para o firebird e estou utilizando os componentes citados acima, ñ funciona mais.
No DataModule está assim:
TSQLQuery
SqlConnection = TSQLConnection
SQL = SELECT * FROM TABELA
ACTIVE = FALSE
DATA SOURCE
DATASET = ClienteDataSet
DATASETPROVIDER
DATASET = TSQLQuery
CLIENTEDATASET
ProviderName = DataSetProvider
Active = True
Marcos Barbosa
Curtidas 0
Respostas
Wilson Junior
01/03/2011
Utilize um TSQLDataSet ao invés de TSQLQuery.
Espero ter colaborado.
Espero ter colaborado.
GOSTEI 0
Marcos Barbosa
01/03/2011
Fiz assim:
codigo_email := DS_email.DataSet.FieldByName('ID_EMAIL').AsString;
Resolvido
codigo_email := DS_email.DataSet.FieldByName('ID_EMAIL').AsString;
Resolvido
GOSTEI 0