Busca por SQL não funciona
Olá Pessoal
Bom dia...
Migrei do ZEOS para IB componentes no Delphi7 (Uso o Firebird como base de dados)
Escrevi as linhas da esma forma que sempre usei e não dá certo.
Vamos lá... Tenho um Grid1 ligado ao Datasource1 e este ligado à uma Query1
Propriedades do Grid1
Datasource=DataSource1
DataSet=Query1
Database (do Dataset) frmPrincipal.IBDatabase1
Filtered=true
Propriedades do DataSoruce1
DataSet=Query1
Active (não dá para deixar como true)
Transaction= frmPrincipal.IBTransaction1
Database= frmPrincipal.IBDatabase1
Conected=True
DataBase Name= C:\Documents and Settings\Mecc\Meus documentos\BancoDados\DATA.fdb
Transation= frmPrincipal.IBTransaction1
Propriedades da Query1
DataBase= frmPrincipal.IBDatabase1
Conected=True
DataBaseName= C:\Documents and Settings\Mecc\Meus documentos\BancoDados\DATA.fdb
Delault Transation= IBTransaction1
Strings= user_name=SYSDBA - password=abcdefgh
A base está correta, pos em outro form, com comando Locate, mostra corrertamente no Grid.
Neste caso, preciso filtrarb a busca e selecionar só os registros (mostrar no Grid) se obedecerem as condições como abaixo.
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(''Select nome_aluno, num_aluno, ano_letivo, serie, bimestre, ativo_sn from
TableCadAlunos where bimestre=:x2 and serie=:x3 and ano_letivo=:x4'');
Query1.ParamByName(''x2'').AsString:=EditBimestre.Text;
Query1.ParamByName(''x3'').AsString:=EditSerie.Text;
Query1.ParamByName(''x4'').AsString:=EditAnoLetivo.Text;
Query1.Open;
Nesta última linha (Query1.Open) dá o seguinte erro:
Projecti Ptrincipal.exe raised excéption class EIBInterbase Error whith msg “Dinamic SQL Error, code -2014 Table Unknow Table CadAlunos.
O estranho é que a tabela está lá e se tirar a query e ligar direto o dataSource no grid e na base de dados, os mesmos aparecem todos no Grid.
Não estou conseguindo encontrar e corrigir o erro.
Podem ajudar.
Agradeço e muito a ajuda.
Bom dia...
Migrei do ZEOS para IB componentes no Delphi7 (Uso o Firebird como base de dados)
Escrevi as linhas da esma forma que sempre usei e não dá certo.
Vamos lá... Tenho um Grid1 ligado ao Datasource1 e este ligado à uma Query1
Propriedades do Grid1
Datasource=DataSource1
DataSet=Query1
Database (do Dataset) frmPrincipal.IBDatabase1
Filtered=true
Propriedades do DataSoruce1
DataSet=Query1
Active (não dá para deixar como true)
Transaction= frmPrincipal.IBTransaction1
Database= frmPrincipal.IBDatabase1
Conected=True
DataBase Name= C:\Documents and Settings\Mecc\Meus documentos\BancoDados\DATA.fdb
Transation= frmPrincipal.IBTransaction1
Propriedades da Query1
DataBase= frmPrincipal.IBDatabase1
Conected=True
DataBaseName= C:\Documents and Settings\Mecc\Meus documentos\BancoDados\DATA.fdb
Delault Transation= IBTransaction1
Strings= user_name=SYSDBA - password=abcdefgh
A base está correta, pos em outro form, com comando Locate, mostra corrertamente no Grid.
Neste caso, preciso filtrarb a busca e selecionar só os registros (mostrar no Grid) se obedecerem as condições como abaixo.
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(''Select nome_aluno, num_aluno, ano_letivo, serie, bimestre, ativo_sn from
TableCadAlunos where bimestre=:x2 and serie=:x3 and ano_letivo=:x4'');
Query1.ParamByName(''x2'').AsString:=EditBimestre.Text;
Query1.ParamByName(''x3'').AsString:=EditSerie.Text;
Query1.ParamByName(''x4'').AsString:=EditAnoLetivo.Text;
Query1.Open;
Nesta última linha (Query1.Open) dá o seguinte erro:
Projecti Ptrincipal.exe raised excéption class EIBInterbase Error whith msg “Dinamic SQL Error, code -2014 Table Unknow Table CadAlunos.
O estranho é que a tabela está lá e se tirar a query e ligar direto o dataSource no grid e na base de dados, os mesmos aparecem todos no Grid.
Não estou conseguindo encontrar e corrigir o erro.
Podem ajudar.
Agradeço e muito a ajuda.
Alexandre
Curtidas 0
Respostas
Leandro Chiodini
10/01/2014
BNom dia
Este erro informa um erro no teu comando,
Talvez seria interessante colocar uma imagem da estrutura da tua tabela ai.
att,
Chiodini
Este erro informa um erro no teu comando,
Talvez seria interessante colocar uma imagem da estrutura da tua tabela ai.
att,
Chiodini
GOSTEI 0
Fabio Cardoso
10/01/2014
posta ai o ddl da tabela que voce esta usando, atraves do ibexpert voce consegue pegar o ddl da tabela que seria tipo:
create table tableCadalunos (
CREATE TABLE tableCadalunos (
CODaluno INTEGER NOT NULL,
.
.
.
);
dai rola de entender o porque do erro
create table tableCadalunos (
CREATE TABLE tableCadalunos (
CODaluno INTEGER NOT NULL,
.
.
.
);
dai rola de entender o porque do erro
GOSTEI 0
Alexandre
10/01/2014
Olá Fábio.
Como localizo isso pelo IBExpert?
Estou começando a usar o bixo agora e tô cru ainda.
Me diga como fazer e posto para vc dar uma olhada.
Agradeço a atenção e ajuda.
Como localizo isso pelo IBExpert?
Estou começando a usar o bixo agora e tô cru ainda.
Me diga como fazer e posto para vc dar uma olhada.
Agradeço a atenção e ajuda.
GOSTEI 0
Fabio Cardoso
10/01/2014
bom abra o ibexpert,
conecte-se ao banco de dados que voce esta usando,
depois va em tables->suatabela
e clique 2x na sua tabela ai
a direita do explorer a tabela se encontrara aberta, dai voce vera as abas relacionadas a tabela uma das abas se chama ddl
nesta aba encontra-se o codigo sql da sua tabela, e esse codigo que preciso completo como o exemplo abaixo:
/******************************************************************************/
/******************************************************************************/
/*** Tables ***/
/******************************************************************************/
CREATE TABLE BICOS (
CODBICO INTEGER NOT NULL,
CODTANQUE INTEGER NOT NULL,
CODBOMBA INTEGER NOT NULL,
CODPLACA INTEGER
ENCRETORNOCOMUNIC DOUBLE PRECISION
);
/******************************************************************************/
/*** Primary Keys ***/
/******************************************************************************/
ALTER TABLE BICOS ADD CONSTRAINT PK_3 PRIMARY KEY (CODBICO);
/******************************************************************************/
/*** Foreign Keys ***/
/******************************************************************************/
ALTER TABLE BICOS ADD CONSTRAINT FK_7 FOREIGN KEY (CODTANQUE) REFERENCES TANQUES (CODTANQUE);
/******************************************************************************/
/*** Indices ***/
/******************************************************************************/
CREATE UNIQUE INDEX BICOS0 ON BICOS (CODBICO);
CREATE DESCENDING INDEX BYCODNOTA1 ON BICOS (CODNOTA1);
CREATE INDEX BYPOSPLACA ON BICOS (POSPLACA);
CREATE INDEX CODTANQUE ON BICOS (CODTANQUE);
/******************************************************************************/
/*** Privileges ***/
/******************************************************************************/
conecte-se ao banco de dados que voce esta usando,
depois va em tables->suatabela
e clique 2x na sua tabela ai
a direita do explorer a tabela se encontrara aberta, dai voce vera as abas relacionadas a tabela uma das abas se chama ddl
nesta aba encontra-se o codigo sql da sua tabela, e esse codigo que preciso completo como o exemplo abaixo:
/******************************************************************************/
/******************************************************************************/
/*** Tables ***/
/******************************************************************************/
CREATE TABLE BICOS (
CODBICO INTEGER NOT NULL,
CODTANQUE INTEGER NOT NULL,
CODBOMBA INTEGER NOT NULL,
CODPLACA INTEGER
ENCRETORNOCOMUNIC DOUBLE PRECISION
);
/******************************************************************************/
/*** Primary Keys ***/
/******************************************************************************/
ALTER TABLE BICOS ADD CONSTRAINT PK_3 PRIMARY KEY (CODBICO);
/******************************************************************************/
/*** Foreign Keys ***/
/******************************************************************************/
ALTER TABLE BICOS ADD CONSTRAINT FK_7 FOREIGN KEY (CODTANQUE) REFERENCES TANQUES (CODTANQUE);
/******************************************************************************/
/*** Indices ***/
/******************************************************************************/
CREATE UNIQUE INDEX BICOS0 ON BICOS (CODBICO);
CREATE DESCENDING INDEX BYCODNOTA1 ON BICOS (CODNOTA1);
CREATE INDEX BYPOSPLACA ON BICOS (POSPLACA);
CREATE INDEX CODTANQUE ON BICOS (CODTANQUE);
/******************************************************************************/
/*** Privileges ***/
/******************************************************************************/
GOSTEI 0