O Delphi respeita as restrições, mas recebendo as mensagens de erros 
originárias do banco de dados.
   
  Voc pode tratá-las devidamente se você utilizar um bloco 
  Try
  Except
  end
  no evento onPost do componente table ou query que você estiver utilizando.
   
  Implemente isto e não terá mais problemas.
   
  Quanto ao teu script, dá uma olhada na variável campo que acredito que ela 
não esteja setada devidamente.
   
  Abs.

  Júlio Abdala
  
Carlos Delfino Carvalho Pinheiro <[EMAIL PROTECTED]> escreveu:
  Bons Dias!

Sou programador Java a 3 anos, e estou trabalhando em um projeto com
Delphi, mas estou tendo serios problemas com restrições de
relacionamento, que o Delphi não tem respeitado!

Agradeço muito a colaboração dos colegas! Vamos a detalhes:

Tenho 3 tabelas:
CREATE TABLE [dbo].[OPERADOR_SUBESTOQUE] (
      [CD_OPERADOR] [int] NOT NULL ,
      [CD_SUBESTOQUE] [int] NOT NULL
) ON [PRIMARY]

CREATE TABLE [dbo].[OPERADOR] (
      [CD_OPERADOR] [int] IDENTITY (1, 1) NOT NULL ,
      [NM_OPERADOR] [varchar] (50) ,
      [NM_APELIDO] [varchar] (25) NOT NULL ,
      [DE_SENHA] [varchar] (15) NOT NULL ,
      [ID_BLOQUEIO] [varchar] (1) NULL
) ON [PRIMARY]

CREATE TABLE [dbo].[SubEstoque] (
      [CD_SUBESTOQUE] [int] IDENTITY (1, 1) NOT NULL ,
      [NM_SUBESTOQUE] [varchar] (50) NOT NULL
) ON [PRIMARY]

A tabela Operador_Subestoque recebe como FK o campo Cd_Operador de
Operador e Cd_SubEstoque de SubEstoque.

A intenção é caso exista um registro na Tabela Operador_Subestoque, o
operador pode atuar sobre o SubEstoque! mas infelizmente o Delphi
emite uma mensagem de erro quanto tento inserir um registro, tal
mensagem de erro relata que estou tentando inserir uma valor nulo no
campo CD_SubEstoque da tabela Operador_SubEstoque, o que realmente não
é permitido.

Estou usando o seguinte codigo para inserir o novo registro (o erro
esta na linha que possui o comentário):

  with FrmListaSimplesSubEstoque.DBGrid1 do
    if SelectedRows.Count>0 then
    with DataSource.DataSet do
      for i:=0 to SelectedRows.Count-1 do
      begin
        GotoBookmark(pointer(SelectedRows.Items[i]));

        Campo := Fields[0].AsInteger;
        
DmAuditoria.TableOperadorSubestoque.InsertRecord([DmAuditoria.TableOperadorCD_OPERADOR.AsInteger,Campo]);
// o erro ocorre nesta liha

        DmAuditoria.TableOperadorSubestoque.Post;
      end;

end;

Mais uma vez agradeço, caso necessite mais informaçoes estou disponivel!

Se preferir eis meu MSN [EMAIL PROTECTED]
Obrigado!
--
Carlos Delfino
Consultoria e Pesquisa
Desenvolvimento de Softwares.
Sun Certified Associate for Java Platform


-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>





        Yahoo! Grupos, um serviço oferecido por:            PUBLICIDADE
 
  
---------------------------------
  Links do Yahoo! Grupos
    
   Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/
    
   Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
    
   O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do 
Yahoo!. 

  


                
---------------------------------
 Yahoo! doce lar. Faça do Yahoo! sua homepage.
                
---------------------------------
 Yahoo! doce lar. Faça do Yahoo! sua homepage.

[As partes desta mensagem que não continham texto foram removidas]





-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a