Não consigo inserir registro com ASP.NET E BDP
21/11/2005
0
Tenho uma tabela onde registro os pacientes de um hospital com os seguintes campos:
CODIGO - NOME - OLHO - CONVENIO - DATA - REOP
Estou com dois problemas, meu campo DATA chega no DBWebGrid assim [b:bb1212de25]17/11/2005 00:00:00[/b:bb1212de25], mas eu inseri direto os dados no banco somente a data e no refresh do BdpDataAdapter ele chega normal, pq aparece assim no DBWebGrid e o que eu faço que não apareça?
Outra coisa é que não estou conseguindo inserir registro no banco de dados, aparece a seguinte mensagem:
Meu campo CODIGO é a chave primaria da tabela, onde tenho um GENERATOR em conjunto com um TRIGGER do seguinte modo:
SET SQL DIALECT 3; SET NAMES NONE; CREATE GENERATOR GEN_PACIENTES_ID; SET TERM ^ ; CREATE TRIGGER PACIENTES_BI FOR PACIENTES ACTIVE BEFORE INSERT POSITION 0 AS BEGIN IF (NEW.CODIGO IS NULL) THEN NEW.CODIGO = GEN_ID(GEN_PACIENTES_ID,1); END ^ SET TERM ; ^
Ou seja, quando nenhum valor for dado a um campo, ele tem q ser dado um autoincremento, faço isso pelo IBExpert e funciona direitinho.
Os demais campos são todos NOT NULL, exceto REOP. E preencho todos os campos como manda o figurino em minha aplicação. Meu INSERT no BDPDATAADAPTER é:
INSERT INTO PACIENTES (NOME, OLHO, CONVENIO, DATA, REOP) VALUES (?, ?, ?, ?, ?)
Já tentei usando DBWebTextBox e já tentei com TextBox normais passando os valores por parametro e o erro sempre é o mesmo.
Já fiz alguns exemplos de umas revistas e nada também.
Alguém está passando por isso? Ou sabe como me ajudar?
Desde já, grato.
Tpoeta
Posts
23/11/2005
Sanses
Abra o collections e veja se seus parametros estão configurados corretamente. Se todos os dados estão sendo enviados corretamente, algum parametro não foi criado ou não está recebendo o valor passado.
[]´s
Sanses
23/11/2005
Tpoeta
Sobre os parametros, tudo está correto, fiz até um teste, tirei um autoincremento do campo código de minha tabela e coloquei o código na mão em minha inserções e tudo funcionou direitinho. Acredito que o erro está na comunição do Interbase com o autoincremento.
Farei um novo teste, usarei a mesma tabela, usando autoincremento numa aplicação Win32, do jeito que estou acostumado e verei as diferenças que darão.
24/11/2005
Sanses
1 - DataBind:
Clique em property builder > selecione columns > desmarque a caixa: Create columns automatically.
Em seguida, adicione as colunas da tabela manualmente do campo AVAILABLE COLUMNS para SELECT COLUMNS.
No campo data, coloque em DATA FORMATTING EXPRESSION a espressão: {0:d}
Compile novamente e veja se funciona.
2 - Quando estiver criando a sentença SQL use ? para parametros, mas depois configure no dataadapter @parametro. Não insira o campo de autonueração na inserção.
[]´s
Sanses
Clique aqui para fazer login e interagir na Comunidade :)