Que estoy haciendo mal?

25/04/2005 - 16:20 por SAM | Informe spam
Hola grupo, lo que quiero hacer alta, baja y modificacion,
la modificacion sale bienel problemason los otrosdos, estoy
usando, ado.net vb.net 2003 access 2003

esto es lo que hago en el boton Borrar:
como comentario, no se porque no lo borra de la BD, o sea,
lo boprra en el dataset pero me esta faltando algo que lo
borre completamente de la BD, es lo mismo que el Agregado
no, poque los dos me hacen lo mismo, me modifica el dataset
pero no la BD

-
Dim oDataRCol As DataRowCollection = oDataSet.
Tables("Clientes").Rows
Dim oCmdBld As New System.Data.OleDb.
OleDbCommandBuilder(Modulo.oAdapter)

oDataRCol.Item(DataGrid1.CurrentCell.RowNumber).
Delete()
oDataSet.Tables("Clientes").AcceptChanges()
oCmdBld.DataAdapter.Update(oDataSet, "Clientes")
-

Este es el de agrgado(con el de modificacion incluido :D)

Dim oCmdBld As New System.Data.OleDb.
OleDbCommandBuilder(Modulo.oAdapter)
cargoclienteTXT()
guardocliente()
If Que = "Add" Then
oDataRow = oDataSet.Tables("Clientes").NewRow
oDataRow.Item("cuit") = CStr(oCliente.cui)
oDataRow.Item("Direccion") = CStr(oCliente.Dir)
oDataRow.Item("Localidad") = CStr(oCliente.
local)
oDataRow.Item("provincia") = CStr(oCliente.
prov)
oDataRow.Item("razonsocial") = CStr(oCliente.
RSocial)
oDataRow.Item("tel_mail") = CStr(oCliente.
t_mail)
oDataRow.Item("contacto") = CStr(oCliente.
contact)
oDataSet.Tables("Clientes").Rows.Add(oDataRow)
oDataSet.Tables("Clientes").AcceptChanges()
End If

oCmdBld.DataAdapter.Update(oDataSet, "Clientes")


Cualquier sugerencia es valida, ya sea de como hacer lo que
estoy consultado, como tbien en si estoy codificacndo bien

ya que soy nuevo en esto.

Muchas Gracias

*Bonus: alguien sabe como modificar el alto de un listbox?
ya que le modifico la propiedad de alto pero no me hace
caso.

Preguntas similare

Leer las respuestas

#1 Gonch
26/04/2005 - 02:36 | Informe spam
Creo que lo que falla es el orden de las instrucciones DataAdapter.Update()
y ds.AcceptChanges()
Codifica el Udate antes que el AcceptChanges si kieres conservar los
cambios.

Espero que te sirva., saludos

"SAM" escribió en el mensaje
news:035901c549a1$f49e6230$
Hola grupo, lo que quiero hacer alta, baja y modificacion,
la modificacion sale bienel problemason los otrosdos, estoy
usando, ado.net vb.net 2003 access 2003

esto es lo que hago en el boton Borrar:
como comentario, no se porque no lo borra de la BD, o sea,
lo boprra en el dataset pero me esta faltando algo que lo
borre completamente de la BD, es lo mismo que el Agregado
no, poque los dos me hacen lo mismo, me modifica el dataset
pero no la BD

-
Dim oDataRCol As DataRowCollection = oDataSet.
Tables("Clientes").Rows
Dim oCmdBld As New System.Data.OleDb.
OleDbCommandBuilder(Modulo.oAdapter)

oDataRCol.Item(DataGrid1.CurrentCell.RowNumber).
Delete()
oDataSet.Tables("Clientes").AcceptChanges()
oCmdBld.DataAdapter.Update(oDataSet, "Clientes")
-

Este es el de agrgado(con el de modificacion incluido :D)

Dim oCmdBld As New System.Data.OleDb.
OleDbCommandBuilder(Modulo.oAdapter)
cargoclienteTXT()
guardocliente()
If Que = "Add" Then
oDataRow = oDataSet.Tables("Clientes").NewRow
oDataRow.Item("cuit") = CStr(oCliente.cui)
oDataRow.Item("Direccion") = CStr(oCliente.Dir)
oDataRow.Item("Localidad") = CStr(oCliente.
local)
oDataRow.Item("provincia") = CStr(oCliente.
prov)
oDataRow.Item("razonsocial") = CStr(oCliente.
RSocial)
oDataRow.Item("tel_mail") = CStr(oCliente.
t_mail)
oDataRow.Item("contacto") = CStr(oCliente.
contact)
oDataSet.Tables("Clientes").Rows.Add(oDataRow)
oDataSet.Tables("Clientes").AcceptChanges()
End If

oCmdBld.DataAdapter.Update(oDataSet, "Clientes")


Cualquier sugerencia es valida, ya sea de como hacer lo que
estoy consultado, como tbien en si estoy codificacndo bien

ya que soy nuevo en esto.

Muchas Gracias

*Bonus: alguien sabe como modificar el alto de un listbox?
ya que le modifico la propiedad de alto pero no me hace
caso.
Respuesta Responder a este mensaje
#2 SAM
26/04/2005 - 02:44 | Informe spam
no funciona, ya que si lo hago dde esa manera sale la
exepcion:


Excepción no controlada del tipo 'System.Data.OleDb.
OleDbException' en system.data.dll

Saludos

Creo que lo que falla es el orden de las instrucciones


DataAdapter.Update()
y ds.AcceptChanges()
Codifica el Udate antes que el AcceptChanges si kieres


conservar los
cambios.

Espero que te sirva., saludos

"SAM" escribió en el


mensaje
news:035901c549a1$f49e6230$
Hola grupo, lo que quiero hacer alta, baja y




modificacion,
la modificacion sale bienel problemason los otrosdos,




estoy
usando, ado.net vb.net 2003 access 2003

esto es lo que hago en el boton Borrar:
como comentario, no se porque no lo borra de la BD, o




sea,
lo boprra en el dataset pero me esta faltando algo que




lo
borre completamente de la BD, es lo mismo que el




Agregado
no, poque los dos me hacen lo mismo, me modifica el




dataset
pero no la BD

-
Dim oDataRCol As DataRowCollection = oDataSet.
Tables("Clientes").Rows
Dim oCmdBld As New System.Data.OleDb.
OleDbCommandBuilder(Modulo.oAdapter)

oDataRCol.Item(DataGrid1.CurrentCell.RowNumber).
Delete()
oDataSet.Tables("Clientes").AcceptChanges()
oCmdBld.DataAdapter.Update(oDataSet, "Clientes")
-

Este es el de agrgado(con el de modificacion incluido :




D)

Dim oCmdBld As New System.Data.OleDb.
OleDbCommandBuilder(Modulo.oAdapter)
cargoclienteTXT()
guardocliente()
If Que = "Add" Then
oDataRow = oDataSet.Tables("Clientes").NewRow
oDataRow.Item("cuit") = CStr(oCliente.cui)
oDataRow.Item("Direccion") = CStr(oCliente.




Dir)
oDataRow.Item("Localidad") = CStr(oCliente.
local)
oDataRow.Item("provincia") = CStr(oCliente.
prov)
oDataRow.Item("razonsocial") = CStr(oCliente.
RSocial)
oDataRow.Item("tel_mail") = CStr(oCliente.
t_mail)
oDataRow.Item("contacto") = CStr(oCliente.
contact)
oDataSet.Tables("Clientes").Rows.




Add(oDataRow)
oDataSet.Tables("Clientes").AcceptChanges()
End If

oCmdBld.DataAdapter.Update(oDataSet, "Clientes")


Cualquier sugerencia es valida, ya sea de como hacer lo




que
estoy consultado, como tbien en si estoy codificacndo




bien

ya que soy nuevo en esto.

Muchas Gracias

*Bonus: alguien sabe como modificar el alto de un




listbox?
ya que le modifico la propiedad de alto pero no me hace
caso.




.

Respuesta Responder a este mensaje
#3 Carlos Durán Urenda
26/04/2005 - 17:23 | Informe spam
Lo que te mencionan es cierto, AceptChanges no te permitirá guardar, ya que
lo que le indicas es que de alguna manera ya procesaste los cambios, de
forma que cuando ejecutes el update, no encontrara cambios para realizar en
la base de datos

el problema de la excepcion, es dificil de adivinar si no utilizas un bloque
try catch que te pueda devolver el mensaje exacto de la excepcion, el
mensaje que muestras lo unico que a mi me dice es que no estas manejando la
excepcion, pero aun asi puedo decirte que la exepcion surge por que no estas
configurando los comandos InsertCommand, UpdateCommand y DeleteCommand del
adaptador de datos.
de forma que si lo unico que configuras es el SelectCommand, solo tendras un
adaptador de lectura

Veo que en tu codigo declaras un CommandBuilder, pero no generas
adecuadamente los commandos,

deberias hacer algo como lo siguiente

Dim Cmb as New OledbCommandBuilder(Adaptador)

With Adaptador
.InsertCommand=Cmb.GetInsertCommand
.DeletCommand=Cmb.GetDeletCommand
.UpdateCommand=Cmb.GetUpdateCommand
end With


Saludos
Carlos Durán





"SAM" escribió en el mensaje
news:018c01c549f9$1f89b510$
no funciona, ya que si lo hago dde esa manera sale la
exepcion:


Excepción no controlada del tipo 'System.Data.OleDb.
OleDbException' en system.data.dll

Saludos

Creo que lo que falla es el orden de las instrucciones


DataAdapter.Update()
y ds.AcceptChanges()
Codifica el Udate antes que el AcceptChanges si kieres


conservar los
cambios.

Espero que te sirva., saludos

"SAM" escribió en el


mensaje
news:035901c549a1$f49e6230$
Hola grupo, lo que quiero hacer alta, baja y




modificacion,
la modificacion sale bienel problemason los otrosdos,




estoy
usando, ado.net vb.net 2003 access 2003

esto es lo que hago en el boton Borrar:
como comentario, no se porque no lo borra de la BD, o




sea,
lo boprra en el dataset pero me esta faltando algo que




lo
borre completamente de la BD, es lo mismo que el




Agregado
no, poque los dos me hacen lo mismo, me modifica el




dataset
pero no la BD

-
Dim oDataRCol As DataRowCollection = oDataSet.
Tables("Clientes").Rows
Dim oCmdBld As New System.Data.OleDb.
OleDbCommandBuilder(Modulo.oAdapter)

oDataRCol.Item(DataGrid1.CurrentCell.RowNumber).
Delete()
oDataSet.Tables("Clientes").AcceptChanges()
oCmdBld.DataAdapter.Update(oDataSet, "Clientes")
-

Este es el de agrgado(con el de modificacion incluido :




D)

Dim oCmdBld As New System.Data.OleDb.
OleDbCommandBuilder(Modulo.oAdapter)
cargoclienteTXT()
guardocliente()
If Que = "Add" Then
oDataRow = oDataSet.Tables("Clientes").NewRow
oDataRow.Item("cuit") = CStr(oCliente.cui)
oDataRow.Item("Direccion") = CStr(oCliente.




Dir)
oDataRow.Item("Localidad") = CStr(oCliente.
local)
oDataRow.Item("provincia") = CStr(oCliente.
prov)
oDataRow.Item("razonsocial") = CStr(oCliente.
RSocial)
oDataRow.Item("tel_mail") = CStr(oCliente.
t_mail)
oDataRow.Item("contacto") = CStr(oCliente.
contact)
oDataSet.Tables("Clientes").Rows.




Add(oDataRow)
oDataSet.Tables("Clientes").AcceptChanges()
End If

oCmdBld.DataAdapter.Update(oDataSet, "Clientes")


Cualquier sugerencia es valida, ya sea de como hacer lo




que
estoy consultado, como tbien en si estoy codificacndo




bien

ya que soy nuevo en esto.

Muchas Gracias

*Bonus: alguien sabe como modificar el alto de un




listbox?
ya que le modifico la propiedad de alto pero no me hace
caso.




.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida