Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/05/2011, 15:22
walfaro
 
Fecha de Ingreso: enero-2009
Ubicación: Gt
Mensajes: 35
Antigüedad: 15 años, 10 meses
Puntos: 0
Error ingresar registro en form dentro de MDI

Amigos sobre todo buenos dias y espero me puedan ayudar, les comento estoy trabajando en Visual 2010 y una base de datos en SQL Server 2008.

Tengo un form1 con un textbox y un boton de guardar ya que este form solo necesito un registro, cuando ejecuto el form MDI y abro en este caso mi form1 hasta aqui todo bien pero cuando ingreso un registro y le doy gurdar me da error que dice: Infraccion de restriccion PRIMARY KEY ´PK_Caja', no puede insertar una clave duplicada en el objeto 'dbo.Caja'

Ahora si me voy a My Project y en formulario de inicio ejecuto solo el form1 ahi si me funciona bien al ingresar datos.

Mi codigo es este:

Imports System.Data.SqlClient
Public Class SQLCONECTAR
Public cadena As String
Public conectar As SqlConnection

Public Sub sqlconecta()
Try
cadena = "Data Source=SERVIDOR-BD\PFCA;Initial Catalog=ARCHIVO;Integrated Security=SSPI;"

conectar = New SqlConnection
conectar.ConnectionString = cadena
conectar.Open()

Catch ex As Exception
conectar.Close()
MsgBox(ex.Message)
End Try
End Sub

Public Sub insert_caja()
Dim insertar As New SqlClient.SqlCommand()
insertar.CommandType = System.Data.CommandType.Text
insertar.CommandText = "INSERT INTO Caja(No_Caja) values('" & Caja.TextBox1.Text & "')"
insertar.Connection = conectar
Try
If ((insertar.ExecuteNonQuery() <> 0)) Then

MessageBox.Show("DATOS INSERTADOS")

End If
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
End Sub
End Class

Este lo tengo dentro de una Clase llamada SQLCONECTAR y en mi form1 este codigo:

Imports System.Windows.Forms
Imports System.Data.SqlClient

Public Class Caja
Public conectar As SQLCONECTAR = New SQLCONECTAR
Private Sub Caja_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
conectar.sqlconecta()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub

Private Sub Guardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Guardar.Click
conectar.insert_caja()
End Sub
End Class

Alguien que me ayude que puedo estar haciendo mal??