CLR: .Net / Mono / Boo / Otros CLR > VB .NET
No Me Funciona La Actualizacion En Ado.net
Usals:
Creo que lo tengo bien,pero me vuelvo loco en esto,gracias de antemano.
SQL = "UPDATE [" & Nombre & "] SET concepto =[" & Referencia & "] WHERE Cantidad = [" & Cantidad & "]"
Dim orden As New OleDb.OleDbCommand(SQL, Conexion)
orden.Parameters.Add(New OleDb.OleDbParameter("Cantidad", Data.OleDb.OleDbType.Char))
orden.Parameters("Cantidad").Value = Cantidad
Conexion.Open()
orden.ExecuteNonQuery()'Aqui da un fallo que descrivo abajo
Conexion.Close()
Fallo:Excepción no controlada del tipo 'System.Data.OleDb.OleDbException' en system.data.dll
Snaft_J1:
:huh: Tienes razon, tome tu code y lo probe y da error, lo he probado con DataAdapters y con Objetos command pero con todos da error.
La verdad en estos momentos toy muy liao como para tratar de solucionar ese problemilla :( , pero tan pronto pueda mirare bien de que se trata (joder, con esta duda no me quedo) :P. lo que puedo mirar es que el problema no esta en tu code si no en la manera en que lo usas, yo creo que no a de manejarse igual a los objetos SqlClient ;) , no obtante te dejo un ejemplo que es funcional por que hice copy & paste de una BD mia, lo unico es que es con los objetos SqlClient...
--- Código: Text --- Dim connectionString As String = "server='(local)'; trusted_connection=true; database='Pubs';" 'BD de ejemplo jeje... Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionString) Dim queryString As String = "INSERT INTO [Paises] ([Pais], [CodEnTransportes]) VALUES (@Pais, @CodEnTransporte"& _ "s)" Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand dbCommand.CommandText = queryString dbCommand.Connection = dbConnection Dim dbParam_pais As System.Data.IDataParameter = New System.Data.SqlClient.SqlParameter dbParam_pais.ParameterName = "@Pais" dbParam_pais.Value = pais dbParam_pais.DbType = System.Data.DbType.String dbCommand.Parameters.Add(dbParam_pais) Dim dbParam_codEnTransportes As System.Data.IDataParameter = New System.Data.SqlClient.SqlParameter dbParam_codEnTransportes.ParameterName = "@CodEnTransportes" dbParam_codEnTransportes.Value = codEnTransportes dbParam_codEnTransportes.DbType = System.Data.DbType.String dbCommand.Parameters.Add(dbParam_codEnTransportes) Dim rowsAffected As Integer = 0 dbConnection.Open Try rowsAffected = dbCommand.ExecuteNonQuery Finally dbConnection.Close End Try
tan pronto me libere de todo este :comp: , jeje mirare bien la forma de uso de los tipos de datos y objetos con OLEDB en .NET :unsure: ...
PD: :blink: UP'S Miercoles cada vez me doy cuenta que falta muchisisimo por estudiar o sera la arquitectura usada para nuestro OS jejeje....
Usals:
Ya lo he solucionado,el fallo esta en que el parametro declarado no debia ser ese sino Referencia
orden.Parameters.Add(New OleDb.OleDbParameter("Referencia", Data.OleDb.OleDbType.Char))
orden.Parameters("referencia").Value = referencia
Por cierto muchisimas gracias,mira que navego por muchos foros y en el unico que me habia registrado me registro pregunto y me responden sobre .net alelulla un foro de .net,por cierto otra duda agrego a la sentencia SQL un dato decimal que seria precio y tambien lo agrego a parameters y funciona bien si no lleva decimales pero como lleve no hace nada,antes en VB6 usaba currency pero aqui en .net creo que no esta sabes cual puede ser el problema,gracias de nuevo
Snaft_J1:
Pues la verdad una vez me sucedio algo parecido pero fue un error de tipos de datos en la BD o en ocaciones en el mismo vb por que no pruebas con otro tipo de datos ehh.
debes saber que dependiendo del tipo de dato el vb o el mismo SQL-Server quitan los decimales.
OK.
:P
Usals:
Lo tengo en parte solucionado,dado que no me acepta decimales osea la variable como decimal lo que hago es comvertir los datos en una string y esa se la paso al oledbcomand,funciona muy bien lo que pasa es que no me gusta hacer tanto lio en el codigo,gracias
Navegación
[#] Página Siguiente
Ir a la versión completa