Detectar registros duplicados VB.NET
Publicado por Ana Centeno (2 intervenciones) el 23/11/2009 04:48:11
Buenas!! Estoy desarrollando una aplicacion simple en vb.net en la cual deseo almacenar un registro en la tabla clientes, tengo como primarykey el codigo del cliente y quisiera que al agregar un nuevo registro y colocarle un codigo ya existente el sistema me lo detectara y lo mostrara en un msgbox.
Se que en vb6 es tan simple como agregarle un manejador de errores con el numero de error que en este caso seria el 3022 pero no consigo hacer esto ni con el try and catch, ni con el count del datatable (empezando porq no tengo un datatable ni un datareader que seria lo mas optimo) ni con el select count etc etc xq me da un error de (coma) en la sentencia.. por favor si podrian indicarme un fragmento de codigo que pueda ayudarme se los agradeceria, le dejo el codigo q utilizo actualmente con el cual guarda perfect al colocarle un try catch q omita el 3022 pero por supuesto no detecta duplicados...
Dim myCommand As New Data.OleDb.OleDbCommand
Dim accAdapterUpdate As Data.OleDb.OleDbDataAdapter
Dim stringsql As String
AccConexion = New OleDb.OleDbConnection
AccConexion.ConnectionString = stringconexion
AccConexion.Open()
stringsql = "insert into clientes(codigocli,nombrecli,direccli,telfcli,emailcli,movilcli,comentcli,fecha) values ('" & _
code.Text & "','" & name1.Text & "','" & address.Text & "','" & phone.Text & "','" & email.Text & "','" & cel.Text & "','" & comment.Text & "','" & date1.Text & "')"
accAdapterUpdate = New OleDb.OleDbDataAdapter(stringsql, AccConexion)
myCommand.CommandText = stringsql
myCommand.Connection = AccConexion
accAdapterUpdate.UpdateCommand = myCommand
accAdapterUpdate.UpdateCommand.ExecuteNonQuery()
MsgBox("Registro guardado con éxito", MsgBoxStyle.Information)
AccConexion.Close()
AccDataset = New Data.DataSet
Se que en vb6 es tan simple como agregarle un manejador de errores con el numero de error que en este caso seria el 3022 pero no consigo hacer esto ni con el try and catch, ni con el count del datatable (empezando porq no tengo un datatable ni un datareader que seria lo mas optimo) ni con el select count etc etc xq me da un error de (coma) en la sentencia.. por favor si podrian indicarme un fragmento de codigo que pueda ayudarme se los agradeceria, le dejo el codigo q utilizo actualmente con el cual guarda perfect al colocarle un try catch q omita el 3022 pero por supuesto no detecta duplicados...
Dim myCommand As New Data.OleDb.OleDbCommand
Dim accAdapterUpdate As Data.OleDb.OleDbDataAdapter
Dim stringsql As String
AccConexion = New OleDb.OleDbConnection
AccConexion.ConnectionString = stringconexion
AccConexion.Open()
stringsql = "insert into clientes(codigocli,nombrecli,direccli,telfcli,emailcli,movilcli,comentcli,fecha) values ('" & _
code.Text & "','" & name1.Text & "','" & address.Text & "','" & phone.Text & "','" & email.Text & "','" & cel.Text & "','" & comment.Text & "','" & date1.Text & "')"
accAdapterUpdate = New OleDb.OleDbDataAdapter(stringsql, AccConexion)
myCommand.CommandText = stringsql
myCommand.Connection = AccConexion
accAdapterUpdate.UpdateCommand = myCommand
accAdapterUpdate.UpdateCommand.ExecuteNonQuery()
MsgBox("Registro guardado con éxito", MsgBoxStyle.Information)
AccConexion.Close()
AccDataset = New Data.DataSet
Valora esta pregunta


0