Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/04/2011, 15:05
Avatar de Carlojas
Carlojas
 
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 11 meses
Puntos: 49
Respuesta: Problema al Guardar datos en una base de datos sql server con vb.net

Que tal darknightroad, puedes probar tu código de esta manera.

Código vb:
Ver original
  1. Public Function ModifDocs(ByVal Cedula As String, ByVal RowId As Integer) As Boolean
  2.         Try
  3.             Dim conect As New SqlConnection(My.Settings.AccesoConnectionString)
  4.             conect.Open()
  5.             Dim ds As New DataSet
  6.             Dim adp As New SqlDataAdapter("Select * from Det_Doc", conect)
  7.             adp.Fill(ds) ' cuando agrego esta linea me marca que la tabla no tiene clave principal, pero si se la quito me sale que no existe la tabla 0
  8.            Dim fila As DataRow = ds.Tables(0).Select("id = " + RowId.ToString + "")(0)
  9.             fila.BeginEdit()
  10.             fila("Cedula") = Cedula
  11.             fila("Fot_Ced") = Fot_cedCheckBox.Checked
  12.             fila("Par_Nac") = Par_NacCheckBox.Checked
  13.             fila("Par_NacHijos") = Par_NacHijosCheckBox.Checked
  14.             fila("Par_NacPadres") = PAr_NacPadresCheckBox.Checked
  15.             fila("Acta_Matrimonio") = Acta_MatrimonioCheckBox.Checked
  16.             'fila("Dec_jurada") = Dec_JuradaCheckBox.Checked
  17.            'fila("Fondo Negro") = Fondo_negroCheckBox.Checked
  18.            fila("Observaciones") = ObservacionesTextBox.Text
  19.             fila.EndEdit()
  20.             Dim cb As New SqlCommandBuilder(adp)
  21.             adp.Update(ds)
  22.             ds.Tables(0).AcceptChanges()
  23.             Return True
  24.             conect.Close()
  25.         Catch ex As DataException
  26.             MessageBox.Show(ex.Message)
  27.             Return False
  28.         Catch ex2 As SqlException
  29.             MessageBox.Show(ex2.Message)
  30.             Return False
  31.         End Try
  32. End Function

El cambio en esta línea de código
Código vb:
Ver original
  1. Dim fila As DataRow = ds.Tables(0).Rows.Find(RowId)
Por esta:
Código vb:
Ver original
  1. Dim fila As DataRow = ds.Tables(0).Select("id = " + RowId.ToString + "")(0)

En la parte del Select(EL NOMBRE DE TU CAMPO EN LA TABLA = " + RowId.ToString + ")

Y tambien en este link una breve explicación del porque te salia el mensaje de "La tabla no tiene una clave principal"


Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"

Última edición por Carlojas; 19/04/2011 a las 15:12