elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Temas
Páginas: [1]
1  Programación / .NET (C#, VB.NET, ASP) / Parametros Sql y @oldvalue Ado.net en: 24 Enero 2015, 03:19 am
[MOD]:
Debes utilizar las etiquetas GeShi para insertar código, porfavor lee las normas del foro y las del subforo de programación general.
ÚLTIMA ADVERTENCIA.
Si futuros posts no respetan la norma citada arriba serán eliminados sin previo aviso, lo siento.
Siendo programador, no te costará entenderlo. Gracias por la comprensión.






Hola, tengo un problema, estoy probando un codigo que lo que hace es llenar un dataset, esto en el evento Load. Pero luego, en button1_click necesito comparar los valores viejos de la base de datos con los valores nuevos. Para saber si estos registros que cargue en form1_load cambiaron luego cuando hago button1_click, el problema esta en que no se como hacer que @oldnombre y @oldapallido tome cada uno de los diferentes valores de los diferentes registros del conjunto de datos. Gracias

Código
  1.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  2.  
  3.        Try
  4.            connetionString = "PROVIDER=Microsoft.ACE.OLEDB.12.0;Data Source=C:\concurrencia\base.accdb;"
  5.            connection = New OleDbConnection(connetionString)
  6.            connection.Open()
  7.            adapter = New OleDbDataAdapter("SELECT * from tabla2", connection)
  8.            adapter.Fill(DataSet, "tabla2")
  9.  
  10.  
  11.  
  12.        Catch ex As Exception
  13.            MsgBox(ex.ToString)
  14.        End Try
  15.    End Sub
  16.  
  17.  
  18.  
  19.  
  20.    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  21.  
  22.        Try
  23.            Dim comando As OleDbCommand = connection.CreateCommand()
  24.  
  25.            adapter.UpdateCommand = New OleDbCommand("UPDATE tabla2 set nombre=@nombre, apellido=@apellido WHERE nombre=@oldnombre AND apellido=@oldapellido", connection)
  26.  
  27.            adapter.UpdateCommand.Parameters.Add("@nombre", OleDbType.VarChar, 255).Value = txtID.Text
  28.            adapter.UpdateCommand.Parameters.Add("@apellido", OleDbType.VarChar, 255).Value = txtCharData.Text
  29.  
  30.  
  31.  
  32.  
  33.            parameter = adapter.UpdateCommand.Parameters.Add("@oldnombre", OleDbType.VarChar, 255, "nombre")
  34.            parameter.SourceVersion = DataRowVersion.Original
  35.  
  36.  
  37.            parameter = adapter.UpdateCommand.Parameters.Add("@oldapellido", OleDbType.VarChar, 255, "apellido")
  38.            parameter.SourceVersion = DataRowVersion.Original
  39.  
  40.  
  41.  
  42.            AddHandler adapter.RowUpdated, New OleDbRowUpdatedEventHandler(AddressOf OnRowUpdated)
  43.  
  44.  
  45.            adapter.Update(dataset, "tabla2")
  46.  
  47.            connection.Close()
  48.  
  49.    End Sub
  50.  
  51.  
  52.  
  53. Sub OnRowUpdated(ByVal sender As Object, ByVal args As OleDbRowUpdatedEventArgs)
  54.        If args.RecordsAffected = 0 Then
  55.            args.Row.RowError = "Violacion concurrencia optimista"
  56.            args.Status = UpdateStatus.SkipCurrentRow
  57.        End If
  58.    End Sub
  59.  
  60. End Class

2  Programación / .NET (C#, VB.NET, ASP) / Comprobar cambios en los registros en: 21 Enero 2015, 06:27 am
Hola, necesito actualizar los datos de una cierta tabla de una base de datos, pero quiero actualizarlos solamente si no hubo cambios en los mismos. Trabajo con access, Tengo este codigo pero capturo el error que dice "@oldnombre no tiene un valor predeterminado", no se cual puede llegar a ser el problema. Gracias

Código
  1.  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  2.        Try
  3.            connetionString = "PROVIDER=Microsoft.ACE.OLEDB.12.0;Data Source=C:\concurrencia\base.accdb;"
  4.            connection = New OleDbConnection(connetionString)
  5.            connection.Open()
  6.            adapter = New OleDbDataAdapter("SELECT * from tabla2", connection)
  7.            adapter.Fill(DataSet, "tabla2")
  8.            tabla = New DataTable()
  9.            adapter.Fill(tabla)
  10.  
  11.        Catch ex As Exception
  12.            MsgBox(ex.ToString)
  13.        End Try
  14.    End Sub
  15.  
  16. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  17.        Try
  18.            Dim comando As OleDbCommand = connection.CreateCommand()
  19.            adapter.UpdateCommand = New OleDbCommand("UPDATE tabla2 set nombre=@nombre, apellido=@apellido WHERE nombre=@oldnombre AND apellido=@oldapellido", connection)
  20.            adapter.UpdateCommand.Parameters.Add("@nombre", OleDbType.VarChar, 255).Value = txtID.Text
  21.            adapter.UpdateCommand.Parameters.Add("@apellido", OleDbType.VarChar, 255).Value = txtCharData.Text
  22.            parameter = adapter.UpdateCommand.Parameters.Add("@oldnombre", OleDbType.VarChar, 255, "nombre")
  23.            parameter.SourceVersion = DataRowVersion.Original
  24.            parameter = adapter.UpdateCommand.Parameters.Add("@oldapellido", OleDbType.VarChar, 255, "apellido")
  25.            parameter.SourceVersion = DataRowVersion.Original
  26.  
  27.        adapter.UpdateCommand.ExecuteNonQuery()
  28.  
  29.            adapter.Update(dataset, "tabla2")
  30.            adapter.Fill(dataset, "tabla2")
  31.     connection.Close()
  32.        Catch ex As Exception
  33.            MsgBox(ex.ToString)
  34.        End Try
  35.    End Sub



[MOD]: Utiliza el botón de "Insertar código", gracias.
3  Programación / .NET (C#, VB.NET, ASP) / Tengo una duda acerca de la concurrencia en .NET trabajo en: 15 Enero 2015, 23:15 pm
Tengo una duda acerca de la concurrencia en .NET  trabajo con el modelo desconectado, estoy usando access y uso OLEDB
Según tengo entendido, ADO.NET  carga el DataSet  y se desconecta hasta que sea nuevamente necesaria una conexion.
No hay mucha infromación en internet sobre este problema, por ejemplo, me planteo esta dificultad:

1) 2 usuarios distintos en 2 maquinas diferentes acceden al mismo registro
2) cargo los datos en un DataSet
3) maquina1 modifica el campo1 en el DataSet incrementando en 2 el valor del campo1. Luego actualiza los datos en la bd fisica.
4) maquina2, que cargo los datos en el Dataset mucho antes que maquina1 ahora tendría los datos desactualizados en su DataSet y  va a sumar en 1 el campo1 pensando que campo1 es igual a 1, y en realidad campo1 ya vale 2.

como se puede solucionar esto?  Necesitaria un ejemplo si es posible, pero no siempre se puede tratar de un solo registro, a veces necesito actualizar muchos con una sentencia UPDATE Gracias
4  Programación / Programación General / Ajax Tiempo de posback de un boton en: 11 Agosto 2013, 00:28 am
Hola, tengo un chat con ajax ,todos los controles estan dentro de un updatepanel, el problema que tengo es que la gente, cuando termina de escribir un mensaje presionando "Enter" o bien haciendo click en el boton enviar, el tiempo de espera del postback son como 4 segundos. Es lo mismo que sin ultilizar ajax. Habria alguna solucion? no puedo hacerlo todo del lado del cliente porque los mensajes los guardo en una base de datos. Gracias
5  Programación / Programación General / reproducir un sonido en: 29 Abril 2013, 22:06 pm
hola, necesito reproducir un sonido en una pagina web pero desde un control timer que esta en un formulario de asp.net, proble con la etiqueta <embed src=/soni.wav autostart=true>  y con una funcion pero no tengo manera de llamar a la funcion desde el timer, gracias
6  Programación / Programación General / parar timer con javascript en: 18 Abril 2013, 06:22 am
Hola, quiero poder deshabilitar un timer desde una funcion javascript, el timer lo tengo dentro de un formulario, y en cierta parte del programa llamo a la funcion "parar"  pero no funciona.. aca les dejo el codigo. Gracias

<form id="form1" runat="server">
    <asp:Timer ID="Timer1" runat="server" Interval="6000">
</form>

<script language="javascript">
function parar(){
var timer = Sys.Application.findComponent('<%= Timer1.ClientID %>');
     timer._stoptimer();
     timer.set_enabled(false);
     }
</script>
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines