DataGrid vs TextBox: un misterio

02/09/2004 - 19:26 por DellDor | Informe spam
Hola amigos,

Tengo un sencillo formulario que posee dos controles textbox enlazados a una
base de datos access.
Cuando abre el formulario carga los datos con el método fill y todo va ok.
Cuando intento guardar cambios (update) NO FUNCIONA EN ABSOLUTO...
Hice pruebas con un control datagrid y respetando las mismas instruccioes
SQL de mis comandos
y funciona a la maravilla.

Resumen: con DataGrid funciona la operación que deseo hacer... No así con
los textbox.
En efecto cuando reviso la propiedad RowState de mi dataset siempre me
devuelve unchanged cuando trabajo
con los textbox, mientras que me devuelve modified con el datagrid.

Por último, cuando evalúo el contenido de la columna y fila que estoy
modificando se ven los cambios reflejados:
Por ejemplo:
Debug.WriteLine(DsAlumnos1.Alumnos.Rows(0).Item(0))

(donde DsAlumnos1) es mi dataset, me devuelve exactamente el valor que
espero que cambie pues es el valor que he introducido en el textbox
enlazado...

llevo casi 24 horas luchando con las ayudas pero ya no logro descifrar el
misterio...

¡¡¡Por favor alguna luz!!!!

Aldo.

Preguntas similare

Leer las respuestas

#1 Ruben L.
02/09/2004 - 19:56 | Informe spam
Pon parte de tu codigo en el mensaje, para poder ayudarte mejor.


"DellDor" escribió en el mensaje
news:
Hola amigos,

Tengo un sencillo formulario que posee dos controles textbox enlazados a


una
base de datos access.
Cuando abre el formulario carga los datos con el método fill y todo va ok.
Cuando intento guardar cambios (update) NO FUNCIONA EN ABSOLUTO...
Hice pruebas con un control datagrid y respetando las mismas instruccioes
SQL de mis comandos
y funciona a la maravilla.

Resumen: con DataGrid funciona la operación que deseo hacer... No así con
los textbox.
En efecto cuando reviso la propiedad RowState de mi dataset siempre me
devuelve unchanged cuando trabajo
con los textbox, mientras que me devuelve modified con el datagrid.

Por último, cuando evalúo el contenido de la columna y fila que estoy
modificando se ven los cambios reflejados:
Por ejemplo:
Debug.WriteLine(DsAlumnos1.Alumnos.Rows(0).Item(0))

(donde DsAlumnos1) es mi dataset, me devuelve exactamente el valor que
espero que cambie pues es el valor que he introducido en el textbox
enlazado...

llevo casi 24 horas luchando con las ayudas pero ya no logro descifrar el
misterio...

¡¡¡Por favor alguna luz!!!!

Aldo.






Respuesta Responder a este mensaje
#2 DellDor
02/09/2004 - 20:25 | Informe spam
Envío el código completo del formulario.

Disculpa lo latoso del mismo... Pero de verdad no sé que hacer.

Aquí lo envío con dos textbox.

De antemano, muuuuuyyy agradecido!!!



Public Class fAlumnos

Inherits System.Windows.Forms.Form

#Region " Código generado por el Diseñador de Windows Forms "

Public Sub New()

MyBase.New()

'El Diseñador de Windows Forms requiere esta llamada.

InitializeComponent()

'Agregar cualquier inicialización después de la llamada a
InitializeComponent()

End Sub

'Form reemplaza a Dispose para limpiar la lista de componentes.

Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)

If disposing Then

If Not (components Is Nothing) Then

components.Dispose()

End If

End If

MyBase.Dispose(disposing)

End Sub

'Requerido por el Diseñador de Windows Forms

Private components As System.ComponentModel.IContainer

'NOTA: el Diseñador de Windows Forms requiere el siguiente procedimiento

'Puede modificarse utilizando el Diseñador de Windows Forms.

'No lo modifique con el editor de código.

Friend WithEvents Button1 As System.Windows.Forms.Button

Friend WithEvents OleDbConnection1 As System.Data.OleDb.OleDbConnection

Friend WithEvents OleDbDataAdapter1 As System.Data.OleDb.OleDbDataAdapter

Friend WithEvents OleDbSelectCommand1 As System.Data.OleDb.OleDbCommand

Friend WithEvents OleDbInsertCommand1 As System.Data.OleDb.OleDbCommand

Friend WithEvents OleDbUpdateCommand1 As System.Data.OleDb.OleDbCommand

Friend WithEvents OleDbDeleteCommand1 As System.Data.OleDb.OleDbCommand

Friend WithEvents TextBox1 As System.Windows.Forms.TextBox

Friend WithEvents TextBox2 As System.Windows.Forms.TextBox

Friend WithEvents DsAlumnos1 As CCI_1.dsAlumnos

Friend WithEvents DataGrid1 As System.Windows.Forms.DataGrid

<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

Me.Button1 = New System.Windows.Forms.Button()

Me.OleDbConnection1 = New System.Data.OleDb.OleDbConnection()

Me.OleDbDataAdapter1 = New System.Data.OleDb.OleDbDataAdapter()

Me.OleDbDeleteCommand1 = New System.Data.OleDb.OleDbCommand()

Me.OleDbInsertCommand1 = New System.Data.OleDb.OleDbCommand()

Me.OleDbSelectCommand1 = New System.Data.OleDb.OleDbCommand()

Me.OleDbUpdateCommand1 = New System.Data.OleDb.OleDbCommand()

Me.TextBox1 = New System.Windows.Forms.TextBox()

Me.TextBox2 = New System.Windows.Forms.TextBox()

Me.DsAlumnos1 = New CCI_1.dsAlumnos()

Me.DataGrid1 = New System.Windows.Forms.DataGrid()

CType(Me.DsAlumnos1, System.ComponentModel.ISupportInitialize).BeginInit()

CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize).BeginInit()

Me.SuspendLayout()

'

'Button1

'

Me.Button1.Location = New System.Drawing.Point(232, 320)

Me.Button1.Name = "Button1"

Me.Button1.TabIndex = 13

Me.Button1.Text = "Guardar"

'

'OleDbConnection1

'

Me.OleDbConnection1.ConnectionString "Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data
Source=C:\Documen" & _

"ts and Settings\Aldo\Mis documentos\Proyectos de Visual
Studio\CCI-1\bin\CCI1.md" & _

"b"

'

'OleDbDataAdapter1

'

Me.OleDbDataAdapter1.DeleteCommand = Me.OleDbDeleteCommand1

Me.OleDbDataAdapter1.InsertCommand = Me.OleDbInsertCommand1

Me.OleDbDataAdapter1.MissingSchemaAction System.Data.MissingSchemaAction.AddWithKey

Me.OleDbDataAdapter1.SelectCommand = Me.OleDbSelectCommand1

Me.OleDbDataAdapter1.TableMappings.AddRange(New
System.Data.Common.DataTableMapping() {New
System.Data.Common.DataTableMapping("Table", "Alumnos", New
System.Data.Common.DataColumnMapping() {New
System.Data.Common.DataColumnMapping("Apellidos", "Apellidos"), New
System.Data.Common.DataColumnMapping("Cédula", "Cédula")})})

Me.OleDbDataAdapter1.UpdateCommand = Me.OleDbUpdateCommand1

'

'OleDbDeleteCommand1

'

Me.OleDbDeleteCommand1.CommandText = "DELETE FROM Alumnos WHERE (Cédula = ?)
AND (Apellidos = ? OR ? IS NULL AND Apelli" & _

"dos IS NULL)"

Me.OleDbDeleteCommand1.Connection = Me.OleDbConnection1

Me.OleDbDeleteCommand1.Parameters.Add(New
System.Data.OleDb.OleDbParameter("Cédula",
System.Data.OleDb.OleDbType.VarWChar, 50,
System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte),
"Cédula", System.Data.DataRowVersion.Original, Nothing))

Me.OleDbDeleteCommand1.Parameters.Add(New
System.Data.OleDb.OleDbParameter("Apellidos",
System.Data.OleDb.OleDbType.VarWChar, 30,
System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte),
"Apellidos", System.Data.DataRowVersion.Original, Nothing))

Me.OleDbDeleteCommand1.Parameters.Add(New
System.Data.OleDb.OleDbParameter("Param3",
System.Data.OleDb.OleDbType.VarChar, 0,
System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte),
"", System.Data.DataRowVersion.Original, Nothing))

'

'OleDbInsertCommand1

'

Me.OleDbInsertCommand1.CommandText = "INSERT INTO Alumnos(Apellidos, Cédula)
VALUES (?, ?)"

Me.OleDbInsertCommand1.Connection = Me.OleDbConnection1

Me.OleDbInsertCommand1.Parameters.Add(New
System.Data.OleDb.OleDbParameter("Apellidos",
System.Data.OleDb.OleDbType.VarWChar, 30, "Apellidos"))

Me.OleDbInsertCommand1.Parameters.Add(New
System.Data.OleDb.OleDbParameter("Cédula",
System.Data.OleDb.OleDbType.VarWChar, 50, "Cédula"))

'

'OleDbSelectCommand1

'

Me.OleDbSelectCommand1.CommandText = "SELECT Apellidos, Cédula FROM Alumnos
WHERE (Cédula = ?)"

Me.OleDbSelectCommand1.Connection = Me.OleDbConnection1

Me.OleDbSelectCommand1.Parameters.Add(New
System.Data.OleDb.OleDbParameter("Cédula",
System.Data.OleDb.OleDbType.VarWChar, 50, "Cédula"))

'

'OleDbUpdateCommand1

'

Me.OleDbUpdateCommand1.CommandText = "UPDATE Alumnos SET Apellidos = ?,
Cédula = ? WHERE (Cédula = ?)"

Me.OleDbUpdateCommand1.Connection = Me.OleDbConnection1

Me.OleDbUpdateCommand1.Parameters.Add(New
System.Data.OleDb.OleDbParameter("Apellidos",
System.Data.OleDb.OleDbType.VarWChar, 30, "Apellidos"))

Me.OleDbUpdateCommand1.Parameters.Add(New
System.Data.OleDb.OleDbParameter("Cédula",
System.Data.OleDb.OleDbType.VarWChar, 50, "Cédula"))

Me.OleDbUpdateCommand1.Parameters.Add(New
System.Data.OleDb.OleDbParameter("Original_Cédula",
System.Data.OleDb.OleDbType.VarWChar, 50,
System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte),
"Cédula", System.Data.DataRowVersion.Original, Nothing))

'

'TextBox1

'

Me.TextBox1.DataBindings.Add(New System.Windows.Forms.Binding("Text",
Me.DsAlumnos1, "Alumnos.Cédula"))

Me.TextBox1.Location = New System.Drawing.Point(152, 72)

Me.TextBox1.Name = "TextBox1"

Me.TextBox1.TabIndex = 14

Me.TextBox1.Text = "TextBox1"

'

'TextBox2

'

Me.TextBox2.DataBindings.Add(New System.Windows.Forms.Binding("Text",
Me.DsAlumnos1, "Alumnos.Apellidos"))

Me.TextBox2.Location = New System.Drawing.Point(152, 112)

Me.TextBox2.Name = "TextBox2"

Me.TextBox2.TabIndex = 15

Me.TextBox2.Text = "TextBox2"

'

'DsAlumnos1

'

Me.DsAlumnos1.DataSetName = "dsAlumnos"

Me.DsAlumnos1.Locale = New System.Globalization.CultureInfo("es-VE")

Me.DsAlumnos1.Namespace = "http://www.tempuri.org/dsAlumnos.xsd"

'

'DataGrid1

'

Me.DataGrid1.DataMember = ""

Me.DataGrid1.DataSource = Me.DsAlumnos1.Alumnos

Me.DataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText

Me.DataGrid1.Location = New System.Drawing.Point(256, 208)

Me.DataGrid1.Name = "DataGrid1"

Me.DataGrid1.Size = New System.Drawing.Size(256, 80)

Me.DataGrid1.TabIndex = 16

'

'fAlumnos

'

Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)

Me.ClientSize = New System.Drawing.Size(560, 381)

Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.DataGrid1,
Me.TextBox2, Me.TextBox1, Me.Button1})

Me.Name = "fAlumnos"

Me.Text = "fAlumnos"

CType(Me.DsAlumnos1, System.ComponentModel.ISupportInitialize).EndInit()

CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize).EndInit()

Me.ResumeLayout(False)

End Sub

#End Region

Dim Cédula As String = "1"

Sub RecuperarValores()

DsAlumnos1.Clear()

OleDbDataAdapter1.SelectCommand.Parameters("Cédula").Value = Cédula

OleDbDataAdapter1.Fill(DsAlumnos1, "Alumnos")

Debug.WriteLine(DsAlumnos1.Alumnos.Rows(0).Item(0))

'TextBox1.Text = DsAlumnos1.Alumnos.Rows(0).Item(0)

'TextBox2.Text = DsAlumnos1.Alumnos.Rows(0).Item(1)

End Sub

Sub GuardarValores()

Try

''OleDbDataAdapter1.UpdateCommand.Parameters(0).Value = TextBox3.Text

''OleDbDataAdapter1.UpdateCommand.Parameters(1).Value = TextBox1.Text

''OleDbDataAdapter1.UpdateCommand.Parameters(2).Value = Cédula

''OleDbConnection1.Open()

''OleDbDataAdapter1.UpdateCommand.Connection = OleDbConnection1

''OleDbDataAdapter1.UpdateCommand.ExecuteScalar()

'Debug.WriteLine(DsAlumnos1.Alumnos.Rows(0).Item(0))

'DsAlumnos1.Alumnos.Rows(0).BeginEdit()

''DsAlumnos1.Alumnos.Rows(0).Item("Apellidos") = TextBox2.Text

'Debug.WriteLine(DsAlumnos1.Alumnos.Rows(0).RowState)



OleDbDataAdapter1.UpdateCommand.Parameters("Original_Cédula").Value = Cédula

OleDbDataAdapter1.Update(DsAlumnos1)

Catch ex As Exception

MsgBox(ex.Message)

Finally

Me.Close()

End Try

End Sub



Private Sub fAlumnos_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

RecuperarValores()

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

GuardarValores()

End Sub

End Class
Respuesta Responder a este mensaje
#3 Ruben L.
02/09/2004 - 20:55 | Informe spam
Ok. Veo que estas trabajando con los asistentes para datos. Como siempre he
preferido la forma 'manual' te mando la forma en yo haria esto:

'Declaro la conexion
Dim conn as new
OledbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User
ID=Admin;Data Source=C:\Documen" & _
"ts and Settings\Aldo\Mis documentos\Proyectos de Visual
Studio\CCI-1\bin\CCI1.mdb")

'Declaro mi variable

Dim Cedula as string="1!

'Declaro el dataadapter
Dim daDatos as new OledbDataadapter("SELECT Apellidos, Cédula FROM Alumnos
where Cedula='" & Cedula & "'",conn)

'Declaro mi dataset
Dim dsDatos as new dataset

'Declaro un currencymanager
Dim cm as CurrencyManager

'Lleno el dataset
daDatos.fill(dsdatos,"alumnos")

'Ligo el currencymanager
cm = Me.BindingContext(dsDatos.Tables("alumnos"))
cm.Position = 0

'Asocio los datos de mi dataset a los textbox
Textbox1.Databindings.Add("Text",dsDatos.Tables("Alumnos"),"Apellidos")

Textbox2.Databindings.Add("Text",dsDatos.Tables("Alumnos"),"Cedula")



Y en algun boton o procedimiento de actualizacion pondria lo siguiente para
que me actualizara los cambios tecleados en los textbox la base de datos.

cm.EndCurrentEdit() 'Finalizo cualquier cambio al currency

daDatos.Update(dsDatos, "alumnos") 'Actualizo mi base de datos

Y ya eso es todo, bueno asi lo he hecho en todas mis aplicaciones. Espero te
sirva y si no esta muy claro, pues dimelo y a ver como solucionamos tu
problema.



Saludos.










"DellDor" escribió en el mensaje
news:
Envío el código completo del formulario.

Disculpa lo latoso del mismo... Pero de verdad no sé que hacer.

Aquí lo envío con dos textbox.

De antemano, muuuuuyyy agradecido!!!



Public Class fAlumnos

Inherits System.Windows.Forms.Form

#Region " Código generado por el Diseñador de Windows Forms "

Public Sub New()

MyBase.New()

'El Diseñador de Windows Forms requiere esta llamada.

InitializeComponent()

'Agregar cualquier inicialización después de la llamada a
InitializeComponent()

End Sub

'Form reemplaza a Dispose para limpiar la lista de componentes.

Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)

If disposing Then

If Not (components Is Nothing) Then

components.Dispose()

End If

End If

MyBase.Dispose(disposing)

End Sub

'Requerido por el Diseñador de Windows Forms

Private components As System.ComponentModel.IContainer

'NOTA: el Diseñador de Windows Forms requiere el siguiente procedimiento

'Puede modificarse utilizando el Diseñador de Windows Forms.

'No lo modifique con el editor de código.

Friend WithEvents Button1 As System.Windows.Forms.Button

Friend WithEvents OleDbConnection1 As System.Data.OleDb.OleDbConnection

Friend WithEvents OleDbDataAdapter1 As System.Data.OleDb.OleDbDataAdapter

Friend WithEvents OleDbSelectCommand1 As System.Data.OleDb.OleDbCommand

Friend WithEvents OleDbInsertCommand1 As System.Data.OleDb.OleDbCommand

Friend WithEvents OleDbUpdateCommand1 As System.Data.OleDb.OleDbCommand

Friend WithEvents OleDbDeleteCommand1 As System.Data.OleDb.OleDbCommand

Friend WithEvents TextBox1 As System.Windows.Forms.TextBox

Friend WithEvents TextBox2 As System.Windows.Forms.TextBox

Friend WithEvents DsAlumnos1 As CCI_1.dsAlumnos

Friend WithEvents DataGrid1 As System.Windows.Forms.DataGrid

<System.Diagnostics.DebuggerStepThrough()> Private Sub


InitializeComponent()

Me.Button1 = New System.Windows.Forms.Button()

Me.OleDbConnection1 = New System.Data.OleDb.OleDbConnection()

Me.OleDbDataAdapter1 = New System.Data.OleDb.OleDbDataAdapter()

Me.OleDbDeleteCommand1 = New System.Data.OleDb.OleDbCommand()

Me.OleDbInsertCommand1 = New System.Data.OleDb.OleDbCommand()

Me.OleDbSelectCommand1 = New System.Data.OleDb.OleDbCommand()

Me.OleDbUpdateCommand1 = New System.Data.OleDb.OleDbCommand()

Me.TextBox1 = New System.Windows.Forms.TextBox()

Me.TextBox2 = New System.Windows.Forms.TextBox()

Me.DsAlumnos1 = New CCI_1.dsAlumnos()

Me.DataGrid1 = New System.Windows.Forms.DataGrid()

CType(Me.DsAlumnos1, System.ComponentModel.ISupportInitialize).BeginInit()

CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize).BeginInit()

Me.SuspendLayout()

'

'Button1

'

Me.Button1.Location = New System.Drawing.Point(232, 320)

Me.Button1.Name = "Button1"

Me.Button1.TabIndex = 13

Me.Button1.Text = "Guardar"

'

'OleDbConnection1

'

Me.OleDbConnection1.ConnectionString > "Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data
Source=C:\Documen" & _

"ts and Settings\Aldo\Mis documentos\Proyectos de Visual
Studio\CCI-1\bin\CCI1.md" & _

"b"

'

'OleDbDataAdapter1

'

Me.OleDbDataAdapter1.DeleteCommand = Me.OleDbDeleteCommand1

Me.OleDbDataAdapter1.InsertCommand = Me.OleDbInsertCommand1

Me.OleDbDataAdapter1.MissingSchemaAction > System.Data.MissingSchemaAction.AddWithKey

Me.OleDbDataAdapter1.SelectCommand = Me.OleDbSelectCommand1

Me.OleDbDataAdapter1.TableMappings.AddRange(New
System.Data.Common.DataTableMapping() {New
System.Data.Common.DataTableMapping("Table", "Alumnos", New
System.Data.Common.DataColumnMapping() {New
System.Data.Common.DataColumnMapping("Apellidos", "Apellidos"), New
System.Data.Common.DataColumnMapping("Cédula", "Cédula")})})

Me.OleDbDataAdapter1.UpdateCommand = Me.OleDbUpdateCommand1

'

'OleDbDeleteCommand1

'

Me.OleDbDeleteCommand1.CommandText = "DELETE FROM Alumnos WHERE (Cédula ?)
AND (Apellidos = ? OR ? IS NULL AND Apelli" & _

"dos IS NULL)"

Me.OleDbDeleteCommand1.Connection = Me.OleDbConnection1

Me.OleDbDeleteCommand1.Parameters.Add(New
System.Data.OleDb.OleDbParameter("Cédula",
System.Data.OleDb.OleDbType.VarWChar, 50,
System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0,


Byte),
"Cédula", System.Data.DataRowVersion.Original, Nothing))

Me.OleDbDeleteCommand1.Parameters.Add(New
System.Data.OleDb.OleDbParameter("Apellidos",
System.Data.OleDb.OleDbType.VarWChar, 30,
System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0,


Byte),
"Apellidos", System.Data.DataRowVersion.Original, Nothing))

Me.OleDbDeleteCommand1.Parameters.Add(New
System.Data.OleDb.OleDbParameter("Param3",
System.Data.OleDb.OleDbType.VarChar, 0,
System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0,


Byte),
"", System.Data.DataRowVersion.Original, Nothing))

'

'OleDbInsertCommand1

'

Me.OleDbInsertCommand1.CommandText = "INSERT INTO Alumnos(Apellidos,


Cédula)
VALUES (?, ?)"

Me.OleDbInsertCommand1.Connection = Me.OleDbConnection1

Me.OleDbInsertCommand1.Parameters.Add(New
System.Data.OleDb.OleDbParameter("Apellidos",
System.Data.OleDb.OleDbType.VarWChar, 30, "Apellidos"))

Me.OleDbInsertCommand1.Parameters.Add(New
System.Data.OleDb.OleDbParameter("Cédula",
System.Data.OleDb.OleDbType.VarWChar, 50, "Cédula"))

'

'OleDbSelectCommand1

'

Me.OleDbSelectCommand1.CommandText = "SELECT Apellidos, Cédula FROM


Alumnos
WHERE (Cédula = ?)"

Me.OleDbSelectCommand1.Connection = Me.OleDbConnection1

Me.OleDbSelectCommand1.Parameters.Add(New
System.Data.OleDb.OleDbParameter("Cédula",
System.Data.OleDb.OleDbType.VarWChar, 50, "Cédula"))

'

'OleDbUpdateCommand1

'

Me.OleDbUpdateCommand1.CommandText = "UPDATE Alumnos SET Apellidos = ?,
Cédula = ? WHERE (Cédula = ?)"

Me.OleDbUpdateCommand1.Connection = Me.OleDbConnection1

Me.OleDbUpdateCommand1.Parameters.Add(New
System.Data.OleDb.OleDbParameter("Apellidos",
System.Data.OleDb.OleDbType.VarWChar, 30, "Apellidos"))

Me.OleDbUpdateCommand1.Parameters.Add(New
System.Data.OleDb.OleDbParameter("Cédula",
System.Data.OleDb.OleDbType.VarWChar, 50, "Cédula"))

Me.OleDbUpdateCommand1.Parameters.Add(New
System.Data.OleDb.OleDbParameter("Original_Cédula",
System.Data.OleDb.OleDbType.VarWChar, 50,
System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0,


Byte),
"Cédula", System.Data.DataRowVersion.Original, Nothing))

'

'TextBox1

'

Me.TextBox1.DataBindings.Add(New System.Windows.Forms.Binding("Text",
Me.DsAlumnos1, "Alumnos.Cédula"))

Me.TextBox1.Location = New System.Drawing.Point(152, 72)

Me.TextBox1.Name = "TextBox1"

Me.TextBox1.TabIndex = 14

Me.TextBox1.Text = "TextBox1"

'

'TextBox2

'

Me.TextBox2.DataBindings.Add(New System.Windows.Forms.Binding("Text",
Me.DsAlumnos1, "Alumnos.Apellidos"))

Me.TextBox2.Location = New System.Drawing.Point(152, 112)

Me.TextBox2.Name = "TextBox2"

Me.TextBox2.TabIndex = 15

Me.TextBox2.Text = "TextBox2"

'

'DsAlumnos1

'

Me.DsAlumnos1.DataSetName = "dsAlumnos"

Me.DsAlumnos1.Locale = New System.Globalization.CultureInfo("es-VE")

Me.DsAlumnos1.Namespace = "http://www.tempuri.org/dsAlumnos.xsd"

'

'DataGrid1

'

Me.DataGrid1.DataMember = ""

Me.DataGrid1.DataSource = Me.DsAlumnos1.Alumnos

Me.DataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText

Me.DataGrid1.Location = New System.Drawing.Point(256, 208)

Me.DataGrid1.Name = "DataGrid1"

Me.DataGrid1.Size = New System.Drawing.Size(256, 80)

Me.DataGrid1.TabIndex = 16

'

'fAlumnos

'

Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)

Me.ClientSize = New System.Drawing.Size(560, 381)

Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.DataGrid1,
Me.TextBox2, Me.TextBox1, Me.Button1})

Me.Name = "fAlumnos"

Me.Text = "fAlumnos"

CType(Me.DsAlumnos1, System.ComponentModel.ISupportInitialize).EndInit()

CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize).EndInit()

Me.ResumeLayout(False)

End Sub

#End Region

Dim Cédula As String = "1"

Sub RecuperarValores()

DsAlumnos1.Clear()

OleDbDataAdapter1.SelectCommand.Parameters("Cédula").Value = Cédula

OleDbDataAdapter1.Fill(DsAlumnos1, "Alumnos")

Debug.WriteLine(DsAlumnos1.Alumnos.Rows(0).Item(0))

'TextBox1.Text = DsAlumnos1.Alumnos.Rows(0).Item(0)

'TextBox2.Text = DsAlumnos1.Alumnos.Rows(0).Item(1)

End Sub

Sub GuardarValores()

Try

''OleDbDataAdapter1.UpdateCommand.Parameters(0).Value = TextBox3.Text

''OleDbDataAdapter1.UpdateCommand.Parameters(1).Value = TextBox1.Text

''OleDbDataAdapter1.UpdateCommand.Parameters(2).Value = Cédula

''OleDbConnection1.Open()

''OleDbDataAdapter1.UpdateCommand.Connection = OleDbConnection1

''OleDbDataAdapter1.UpdateCommand.ExecuteScalar()

'Debug.WriteLine(DsAlumnos1.Alumnos.Rows(0).Item(0))

'DsAlumnos1.Alumnos.Rows(0).BeginEdit()

''DsAlumnos1.Alumnos.Rows(0).Item("Apellidos") = TextBox2.Text

'Debug.WriteLine(DsAlumnos1.Alumnos.Rows(0).RowState)



OleDbDataAdapter1.UpdateCommand.Parameters("Original_Cédula").Value Cédula

OleDbDataAdapter1.Update(DsAlumnos1)

Catch ex As Exception

MsgBox(ex.Message)

Finally

Me.Close()

End Try

End Sub



Private Sub fAlumnos_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

RecuperarValores()

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

GuardarValores()

End Sub

End Class



Respuesta Responder a este mensaje
#4 DellDor
02/09/2004 - 21:10 | Informe spam
Sí se ve bastante claro. De verdad muchas gracias.
Voy a intentarlo así.
Aldo.-
Respuesta Responder a este mensaje
#5 DellDor
02/09/2004 - 21:25 | Informe spam
Oye Rubén, hice una prueba implementando el objeto CurrencyManager (que
nunca había usado...) y me funcionó incluso con el código original...
¡¡¡De verdad muchas gracias!!!
Aldo.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida