Duvida em DBExpress e ClientDataSet.
Caros amigos,
Estou com a seguinte duvida.
Tenho no meu sistema desenvolvido em Delphi 6 e Firebird as seguintes tabelas.
CREATE TABLE ESTADO
(
Sigla VarChar(2) NOT NULL,
Estado VarChar(30),
PRIMARY KEY (Sigla)
);
e
CREATE TABLE CIDADE
(
CodCidade Integer NOT NULL,
Cidade VarChar(30),
EstadoCidade VarChar(2),
PRIMARY KEY (CodCidade)
);
e eu preciso que o usuario selecione o estado, atraves de um DBLookupComboBox, e logo em seguida selecione a cidade do estado. Ai para aparecer somente as cidades daquele determinado estado. Bom eu estava usando IBQuery e coloquei o seguinte codigo no IBQuery da cidade:
SELECT * FROM CIDADE
Where (ESTADOCIDADE= :SIGLA)
e setei a propriedade DataSource do IBQuery Cidade o DataSource do IBQuery do Estado. Funcionou que e uma beleza, mas ai resolvi trocar os IBQuery e os componentes IBX DBExpress, e passei a usar o ClientDataSet + SQLQuery (da palheta dbExpress), os cadastros funcionaram que é uma beleza, mais rapido, mas na hora que eu resolvi fazer o mesmo descrito anteriormente com os SQLQuery, até funcionou, mas quando seleciono por exemplo um estado, aparece no BLookupComboBox, 5 (copias) do mesmo estado. Como faço este tipo de relacionamento usando o SQLQuery? O que posso estar fazendo errado??
Atenciosamente
Luiz Claudio V. Santos
Estou com a seguinte duvida.
Tenho no meu sistema desenvolvido em Delphi 6 e Firebird as seguintes tabelas.
CREATE TABLE ESTADO
(
Sigla VarChar(2) NOT NULL,
Estado VarChar(30),
PRIMARY KEY (Sigla)
);
e
CREATE TABLE CIDADE
(
CodCidade Integer NOT NULL,
Cidade VarChar(30),
EstadoCidade VarChar(2),
PRIMARY KEY (CodCidade)
);
e eu preciso que o usuario selecione o estado, atraves de um DBLookupComboBox, e logo em seguida selecione a cidade do estado. Ai para aparecer somente as cidades daquele determinado estado. Bom eu estava usando IBQuery e coloquei o seguinte codigo no IBQuery da cidade:
SELECT * FROM CIDADE
Where (ESTADOCIDADE= :SIGLA)
e setei a propriedade DataSource do IBQuery Cidade o DataSource do IBQuery do Estado. Funcionou que e uma beleza, mas ai resolvi trocar os IBQuery e os componentes IBX DBExpress, e passei a usar o ClientDataSet + SQLQuery (da palheta dbExpress), os cadastros funcionaram que é uma beleza, mais rapido, mas na hora que eu resolvi fazer o mesmo descrito anteriormente com os SQLQuery, até funcionou, mas quando seleciono por exemplo um estado, aparece no BLookupComboBox, 5 (copias) do mesmo estado. Como faço este tipo de relacionamento usando o SQLQuery? O que posso estar fazendo errado??
Atenciosamente
Luiz Claudio V. Santos
Luiz.claudio.vieira
Curtidas 0