problemas com indice
apesar de minha tabela ter indice os campos aparecem embaralhados
o campo e do tipo varchar mas o conteudo e sequencial:
200-2001
200-0002
200-0003
ja tentei criar outro indice mas mesmo assim nada
grato pela atenção
o campo e do tipo varchar mas o conteudo e sequencial:
200-2001
200-0002
200-0003
ja tentei criar outro indice mas mesmo assim nada
grato pela atenção
Gandalf
Curtidas 0
Respostas
Afarias
26/11/2003
Índices não possuem qualquer relação com a ´ordem´ (ou ordenação) dos registros em um banco de dados (relacionais).
Particularmente, em bancos de dados relacionais, a ´ordem´ dos registros não tem qualquer significado -- os registros não tem uma ordem definida ou melhor -->> isto não é importante.
Se vc quer ver sua consulta odernada por algum(s) campo(s), vc deve usar a cláusula ORDER BY em um SELECT, ex::
SELECT * FROM MINHA_TABELA
ORDER BY campo_tal;
T+
Particularmente, em bancos de dados relacionais, a ´ordem´ dos registros não tem qualquer significado -- os registros não tem uma ordem definida ou melhor -->> isto não é importante.
Se vc quer ver sua consulta odernada por algum(s) campo(s), vc deve usar a cláusula ORDER BY em um SELECT, ex::
SELECT * FROM MINHA_TABELA
ORDER BY campo_tal;
T+
GOSTEI 0
Gandalf
26/11/2003
mas pq os outros campos de outras tabela estão em ordem
digo isso qp minhas DBEdit acessam direto a tabela
um componente query resolve esse problema?
digo isso qp minhas DBEdit acessam direto a tabela
um componente query resolve esse problema?
GOSTEI 0
Afarias
26/11/2003
|mas pq os outros campos de outras tabela estão em ordem
|digo isso qp minhas DBEdit acessam direto a tabela
apenas não confie em ´ordem´ ... ela não existe em bancos relacionais.
e nunca use componenes Tables (seja qual for) com Interbase (ou FB) -- este componentes não são projetados para bancos relacionais.
|um componente query resolve esse problema?
qualquer componente que permita definir seu SQL (como um TxxQuery), seja com for ele, resolve o ´problema´. Por meio de SQL vc poderá ordenar os registros com o ORDER BY
de qualquer forma, quando a ordenação é útil apenas por motivo de apresentação dos registros, vc *pode optar* por ordenar os registros em memória (usado tabelas de memória como o ClientDataSet por ex) -- neste caso não depende do banco de dados (ou SQL).
T+
|digo isso qp minhas DBEdit acessam direto a tabela
apenas não confie em ´ordem´ ... ela não existe em bancos relacionais.
e nunca use componenes Tables (seja qual for) com Interbase (ou FB) -- este componentes não são projetados para bancos relacionais.
|um componente query resolve esse problema?
qualquer componente que permita definir seu SQL (como um TxxQuery), seja com for ele, resolve o ´problema´. Por meio de SQL vc poderá ordenar os registros com o ORDER BY
de qualquer forma, quando a ordenação é útil apenas por motivo de apresentação dos registros, vc *pode optar* por ordenar os registros em memória (usado tabelas de memória como o ClientDataSet por ex) -- neste caso não depende do banco de dados (ou SQL).
T+
GOSTEI 0
Gandalf
26/11/2003
bom eu coloquei um ibquery com o codigo a seguir:
select * from PECA
order by CODIGO
mesmo assim os campos aparecem embaralhados
onde estou errando?
select * from PECA
order by CODIGO
mesmo assim os campos aparecem embaralhados
onde estou errando?
GOSTEI 0
Afarias
26/11/2003
pode me dar um exemplo real dos dados ´embaralhados´??
T+
T+
GOSTEI 0
Gandalf
26/11/2003
o campo e varchar(8)
olhe os primeiros registros:
200-0006
200-0022
200-0023
200-0024
200-0001
200-0002
200-0003
olhe os primeiros registros:
200-0006
200-0022
200-0023
200-0024
200-0001
200-0002
200-0003
GOSTEI 0
Afarias
26/11/2003
cara, isto não está correto. fiz questão de até fazer um teste aqui e esse suposto erro *não* ocorre! (nunca vi o IB ordenar nada incorretamente mesmo em campos com acentos, etc...) -- vamos a umas questões::
vc está realmente executando o select com order by (neste campo)???
já testou isso (este SQL) no IBConsole??
qual o CHAR-SET e COLLATE do campo?? (se bem q neste caso acho q não existe collate com esta estranha ordenação!)
T+
vc está realmente executando o select com order by (neste campo)???
já testou isso (este SQL) no IBConsole??
qual o CHAR-SET e COLLATE do campo?? (se bem q neste caso acho q não existe collate com esta estranha ordenação!)
T+
GOSTEI 0
Gandalf
26/11/2003
no iboconsole o script sql funcionou
fiz igual fiz no ibquery e ele ordenou
fiz igual fiz no ibquery e ele ordenou
GOSTEI 0
Afarias
26/11/2003
Ok, então o problema deve estar no seu programa...
...vc tem certeza que não está mudando o código SQL da query antes de sua execução (e assim, não colocando o ORDER BY) ??
T+
...vc tem certeza que não está mudando o código SQL da query antes de sua execução (e assim, não colocando o ORDER BY) ??
T+
GOSTEI 0
Gandalf
26/11/2003
não
como faço para executar o codigo sql
coloquei query.execsqlno showmodal e deu mensagen de erro
como faço para executar o codigo sql
coloquei query.execsqlno showmodal e deu mensagen de erro
GOSTEI 0
Stci
26/11/2003
Procura colocar query.Open
Pois ExecSql não é para executar Instruçoes SELECT e sim ( Update, Insert e Delete ).
Pois ExecSql não é para executar Instruçoes SELECT e sim ( Update, Insert e Delete ).
GOSTEI 0
Gandalf
26/11/2003
mesmo assim ainda não funcionou
GOSTEI 0
Afarias
26/11/2003
quais os componentes q está usando?? IBX?? está atualizado??
T+
T+
GOSTEI 0
Gandalf
26/11/2003
agora funcionou
fiz um indice novo e alterei no dataset do datasource o indexname e indiquei o index que fiz, agora esta ordenando
fiz um indice novo e alterei no dataset do datasource o indexname e indiquei o index que fiz, agora esta ordenando
GOSTEI 0
Afarias
26/11/2003
|fiz um indice novo e alterei no dataset do datasource o indexname e
|indiquei o index que fiz, agora esta ordenando
Cara... como disse antes INDICES NÃO TEM NADA Q VER COM ORDENAÇÃO - vc NÃO DISSE que componente está usando, mas Querys NÃO tem essa propriedade que vc falou (INDEXNAME)
Se vc está usando um ClientDataSet -- a oredenção é em MEMÓRIA E NÃO TEM NADA A VER COM O BANCO!!! Se está usando um TABLE (algo que nunca deveria usar com bancos como o IB ou FB) é ´quase´ a mesma coisa.
T+
|indiquei o index que fiz, agora esta ordenando
Cara... como disse antes INDICES NÃO TEM NADA Q VER COM ORDENAÇÃO - vc NÃO DISSE que componente está usando, mas Querys NÃO tem essa propriedade que vc falou (INDEXNAME)
Se vc está usando um ClientDataSet -- a oredenção é em MEMÓRIA E NÃO TEM NADA A VER COM O BANCO!!! Se está usando um TABLE (algo que nunca deveria usar com bancos como o IB ou FB) é ´quase´ a mesma coisa.
T+
GOSTEI 0
Gandalf
26/11/2003
estou usando um datasource e la tem essa propriedade
Banco de Dados Cliente/Servidor com Delphi 6
Editora Erica Autor: Carlos A J Oliveiro
pag 94:
´outra ultilidade dos índices é a possibilidade de exibir as informações de uma tabela em ordem alfabética crescente ou decrescente em relaão ao campo indexado´
Banco de Dados Cliente/Servidor com Delphi 6
Editora Erica Autor: Carlos A J Oliveiro
pag 94:
´outra ultilidade dos índices é a possibilidade de exibir as informações de uma tabela em ordem alfabética crescente ou decrescente em relaão ao campo indexado´
GOSTEI 0
Afarias
26/11/2003
|estou usando um datasource e la tem essa propriedade
DataSource??? DataSources não contém dados, servem apenas para ´ligar´ um DataSet a um controle (DataControl).
|´outra ultilidade dos índices é a possibilidade de exibir as informações de
|uma tabela em ordem alfabética crescente ou decrescente em relação |ao campo indexado´
Provavelmente o AUTOR não estava falando de bancos de dados relacionais (SGBD-R) -- se estava então vc deveria ´encostar´ este livro e comprar um melhorzinho.
Se vc vai trabalhar com IB ou FB sugiro q leia materiais sobre bancos de dados relacionais Ok?!
T+
DataSource??? DataSources não contém dados, servem apenas para ´ligar´ um DataSet a um controle (DataControl).
|´outra ultilidade dos índices é a possibilidade de exibir as informações de
|uma tabela em ordem alfabética crescente ou decrescente em relação |ao campo indexado´
Provavelmente o AUTOR não estava falando de bancos de dados relacionais (SGBD-R) -- se estava então vc deveria ´encostar´ este livro e comprar um melhorzinho.
Se vc vai trabalhar com IB ou FB sugiro q leia materiais sobre bancos de dados relacionais Ok?!
T+
GOSTEI 0
Gandalf
26/11/2003
Sinopse
Este livro, parte integrante da série ´Faça um Aplicativo´, é destinado àqueles que estão interessados em aprender a trabalhar com o banco de dados relacional Cliente/Servidor - Interbase 6/Firebird. Os assuntos são abordados em pequenas etapas progressivas, de fácil assimilação, por meio de dezenas de atividades práticas. Sua metodologia baseia-se na orientação por projeto, ou seja, ao terminar o livro, o leitor terá criado um projeto completo de um aplicativo para o gerenciamento de uma mala direta.
O livro abrange um conteúdo básico de aprendizagem, abordando temas como: conceitos básicos de um banco de dados, trabalhar com o IBConsole, fundamentos da linguagem SQL, instruções DDL, DML e DQL, criação de menus e barra de ferramentas, incluir, alterar e excluir dados em tempo de execução, gerar relatórios e etiquetas, e muito mais.
BOM, agora vc desculte com ele quem ta certo eu errado
pra mim, sendo isso certo ou errado esta por enquanto funcional, quando aparecer problemas (se aparecer) eu procuro outra solução.
Este livro, parte integrante da série ´Faça um Aplicativo´, é destinado àqueles que estão interessados em aprender a trabalhar com o banco de dados relacional Cliente/Servidor - Interbase 6/Firebird. Os assuntos são abordados em pequenas etapas progressivas, de fácil assimilação, por meio de dezenas de atividades práticas. Sua metodologia baseia-se na orientação por projeto, ou seja, ao terminar o livro, o leitor terá criado um projeto completo de um aplicativo para o gerenciamento de uma mala direta.
O livro abrange um conteúdo básico de aprendizagem, abordando temas como: conceitos básicos de um banco de dados, trabalhar com o IBConsole, fundamentos da linguagem SQL, instruções DDL, DML e DQL, criação de menus e barra de ferramentas, incluir, alterar e excluir dados em tempo de execução, gerar relatórios e etiquetas, e muito mais.
BOM, agora vc desculte com ele quem ta certo eu errado
pra mim, sendo isso certo ou errado esta por enquanto funcional, quando aparecer problemas (se aparecer) eu procuro outra solução.
GOSTEI 0
Afarias
26/11/2003
Não vou discutir nada... tudo depende do nível da abordágem da publicação (a que e quem se destina) -- algumas simplesmente descartam os conceitos mais ´elaborados´ do q está tratando (feito a física ou a matemática q se aprende no 2º grau)
Só commplementando, eu não levaria (e não levo) muito a sério qualquer publicação que use componentes ´Table´ para construção aplicações C/S.
Well... I QUIT!
T+
Só commplementando, eu não levaria (e não levo) muito a sério qualquer publicação que use componentes ´Table´ para construção aplicações C/S.
Well... I QUIT!
T+
GOSTEI 0