Problema com quot;UPDATEquot; no SQL SERVER

14/04/2008

Fala galera :roll:

Seguinte: Estou desenvolvendo um projeto em VB.NET 2003 com SQL SERVER 2005 Express Edition.

O problema é que quando eu vou salvar os dados do meu formulário aparece esse erro:
´Additional Information: Colunm ´COLUNA´ is constrained be unique. Value ´11´ is already present.´

Sendo que o campo ´COLUNA´ da minha tabela é a chave primária e ela é Identity(Auto-incremento) e eu estou salvando os dados através de um SqlDataAdapter.

Se alguém poder me ajudar e desde já agradeço a todos.


Fialhott

Respostas

14/04/2008

Groove

se a coluna é auto-incremento entaum não passe ela passe apenas os outros dados q o banco faz o papel de auto-incrementar sua ´coluna´.

valew!!!

Tomara ter ajudado!!


Responder Citar

14/04/2008

Fialhott

Ok, mas o que ocorre é o seguinte.

1° eu configuro o SqlDataAdapter.(com todos os campos da minha tabela)

2° ai eu gero o dataset apartir desse SqlDataAdapter

3° e para salvar eu coloquei o código : ´SqlDataAdapter.Update(Dataset1)´

Mas em nenhum momento eu passo um valor para a chave primária da minha tabela e é ai que acontece o erro.

OBS: Eu tentei ´setar´ um valor nulo para a chave primaria da minha tabela atraves do Dataset, mas ele não aceitou. Tentei tbm na hora de gerar o SqlDataAdapter, não incluir a chave primaria, mas dai ele gerou somente ´SELECT´ e ´TABLE MAPPINS´.

Agradeço sua atenção..


Responder Citar

14/04/2008

Groove

não querendo ser chato, mas tentando ajudar...
tem como colocar o codigo pra q a gente veja????


Responder Citar

14/04/2008

Fialhott

vamo lá...

Private Sub Grava_Dados()
´Posição em que o dataset está
Dim POS As Long = Me.BindingContext(Me.DtsCidades1, ´Cidades´).Position

´Nome da cidade
Me.DtsCidades1.Cidades(POS).Cid_Nome = Me.TxtNome.Text

´UF da cidade
Me.DtsCidades1.Cidades(POS).Cid_UF = Me.CboUF.Text


Me.DtaCidades.Update(Me.DtsCidades1)
End If

E ai da o erro, mas você pode notar que eu não passei nenhum valor para a chave primária.Ah, a estrutura da minha tabela é a seguinte:
Cidade INT Identity,
Cid_Nome Varchar(100),
Cid_UF Varchar(2),
PRIMARY KEY(Cidade));

Valeu a força ai brother.


Responder Citar

16/04/2008

Groove

putz desculpe a demora mas já conseguiu???


Responder Citar

17/04/2008

Fialhott

Bah brother, pior que ainda não!!!


Responder Citar

08/08/2008

Fialhott

galera, consegui resolver o ´brete´..

foi só dar um fill com o meu SqlDataAdapter e depois dar um clear no dataset e pronto..


´1°
SqlDataAdapter.Fill(Dataset1)

´depois
Dataset1.Clear()


Responder Citar