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.


M@rcelo

M@rcelo

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]


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar