Fórum Duvidas Simples de IB. #171174
24/07/2003
0
Pessoal eu to migrando meu Prog de DBF para IB e to com algumas
duvidas ate banais e o seguinte
1- E obrigatorio a criacao de campo primario ?
2- Atualmente para testar a existencia de um registro
eu faco procuras no Table (com indice) usando Setkey,GotoKey
como sera feita a pesquisa com o IbQuery (locate) ?
3- Eu posso simplesmente usar o IbQuery para inserir ou alterar
ou terei de usar o IbTransaction,IbUpdateSql,IbStoredProc, etc
4- E obrigatorio o uso de commits ou eu posso simplesmente dar
um Post no ibQuery.
5- Qual o tamanho da pagina de dados que devo usar prum banco de
dados com mais de 50 mil registros.
Agradeco a atencao.
por enquanto e so.
duvidas ate banais e o seguinte
1- E obrigatorio a criacao de campo primario ?
2- Atualmente para testar a existencia de um registro
eu faco procuras no Table (com indice) usando Setkey,GotoKey
como sera feita a pesquisa com o IbQuery (locate) ?
3- Eu posso simplesmente usar o IbQuery para inserir ou alterar
ou terei de usar o IbTransaction,IbUpdateSql,IbStoredProc, etc
4- E obrigatorio o uso de commits ou eu posso simplesmente dar
um Post no ibQuery.
5- Qual o tamanho da pagina de dados que devo usar prum banco de
dados com mais de 50 mil registros.
Agradeco a atencao.
por enquanto e so.
M@rcelo
Curtir tópico
+ 0
Responder
Posts
24/07/2003
Dbezerra
vamos lah, marcelo, respondendo suas perguntas:
1- naum eh necessario ter chave primaria em uma tabela
2- para procurar um codigo, por exemplo, numa IBQuery, faça:
IBQuery.Locate(´CODIGO´, StrToInt(Edit1.text), [])
no primeiro parametro se passa o nome do campo onde se quer procurar, no segundo, o valor q se quer achar e o terceiro sao opcoes para a procura...
3- para alterar, inserir, deletar, eu te aconselho a usar o IBDataSet. ele funciona da seguinte forma: vc faz o select q traz os campos na propriedade SelectSQL. depois disso, vc cria os TFields (botao direito no IBDataSet, Fields Editor, depois Add All Fields), clica com o botao direito no IBDataSet, vai em Dataset Editor. Lah vc escolhe quem eh o campo chave e quais campos serao atualizados. se for usa-lo pra inserir, todos os campos devem estar marcados no update fields.
depois clique em Generate SQL e pronto! agora, qdo quiser inserir, por exemplo, vc poderah fazer IBDataSet.Insert e depois q tiver preenchido os valores, IBDataSet.Post
4- ha a necessidade de vc ter um IBDataBase e um IBTransaction. vc deve ligar os dois... de active true no IBTransaction assim q vc criar seu Owner (um DataModule, por exemplo). cada vez q vc quiser q uma alteracao feita vah diretamente para o banco, sem ficar em cache, faça IBTransaction.Commit. do contrario as alteracoes soh vai pro banco qdo vc fecha o DataModule...
5- jah com relacao a pagina de dados, sinceramente, com 50 mil naum faço ideia... tente deixar a default.
ufah! tah aih... espero ter ajudado...
[quote:07051fb4b9=´M@rcelo´]Pessoal eu to migrando meu Prog de DBF para IB e to com algumas
duvidas ate banais e o seguinte
1- E obrigatorio a criacao de campo primario ?
2- Atualmente para testar a existencia de um registro
eu faco procuras no Table (com indice) usando Setkey,GotoKey
como sera feita a pesquisa com o IbQuery (locate) ?
3- Eu posso simplesmente usar o IbQuery para inserir ou alterar
ou terei de usar o IbTransaction,IbUpdateSql,IbStoredProc, etc
4- E obrigatorio o uso de commits ou eu posso simplesmente dar
um Post no ibQuery.
5- Qual o tamanho da pagina de dados que devo usar prum banco de
dados com mais de 50 mil registros.
Agradeco a atencao.
por enquanto e so.[/quote:07051fb4b9]
1- naum eh necessario ter chave primaria em uma tabela
2- para procurar um codigo, por exemplo, numa IBQuery, faça:
IBQuery.Locate(´CODIGO´, StrToInt(Edit1.text), [])
no primeiro parametro se passa o nome do campo onde se quer procurar, no segundo, o valor q se quer achar e o terceiro sao opcoes para a procura...
3- para alterar, inserir, deletar, eu te aconselho a usar o IBDataSet. ele funciona da seguinte forma: vc faz o select q traz os campos na propriedade SelectSQL. depois disso, vc cria os TFields (botao direito no IBDataSet, Fields Editor, depois Add All Fields), clica com o botao direito no IBDataSet, vai em Dataset Editor. Lah vc escolhe quem eh o campo chave e quais campos serao atualizados. se for usa-lo pra inserir, todos os campos devem estar marcados no update fields.
depois clique em Generate SQL e pronto! agora, qdo quiser inserir, por exemplo, vc poderah fazer IBDataSet.Insert e depois q tiver preenchido os valores, IBDataSet.Post
4- ha a necessidade de vc ter um IBDataBase e um IBTransaction. vc deve ligar os dois... de active true no IBTransaction assim q vc criar seu Owner (um DataModule, por exemplo). cada vez q vc quiser q uma alteracao feita vah diretamente para o banco, sem ficar em cache, faça IBTransaction.Commit. do contrario as alteracoes soh vai pro banco qdo vc fecha o DataModule...
5- jah com relacao a pagina de dados, sinceramente, com 50 mil naum faço ideia... tente deixar a default.
ufah! tah aih... espero ter ajudado...
[quote:07051fb4b9=´M@rcelo´]Pessoal eu to migrando meu Prog de DBF para IB e to com algumas
duvidas ate banais e o seguinte
1- E obrigatorio a criacao de campo primario ?
2- Atualmente para testar a existencia de um registro
eu faco procuras no Table (com indice) usando Setkey,GotoKey
como sera feita a pesquisa com o IbQuery (locate) ?
3- Eu posso simplesmente usar o IbQuery para inserir ou alterar
ou terei de usar o IbTransaction,IbUpdateSql,IbStoredProc, etc
4- E obrigatorio o uso de commits ou eu posso simplesmente dar
um Post no ibQuery.
5- Qual o tamanho da pagina de dados que devo usar prum banco de
dados com mais de 50 mil registros.
Agradeco a atencao.
por enquanto e so.[/quote:07051fb4b9]
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)