ASP.NET - no grabar datos repetidos de asp.net a sql server

 
Vista:

no grabar datos repetidos de asp.net a sql server

Publicado por Darkpiscis (1 intervención) el 09/07/2011 21:53:40
que tal, tengo mi aplicacion distribuida, y e hace mantenimiento a mis tablas, pero como valido por ejemplo un textbox donde escriba el documento de identidad que tiene que ser unico, para que no se grabe otra vez ese dato, tengo mi store procedure que me cuenta ese campo si es que lo encuentra pero como lo aplico en mi codigo en mi apliacion distribuida. gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

no grabar datos repetidos de asp.net a sql server

Publicado por weirdmix (1 intervención) el 12/07/2011 19:10:50
deberias mandar a llamar otro stored procedure que te regrese el conteo del documento de identidad a ingresar, si el conteo es mayor a 0 entonces envias el mensaje de error al cliente.

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

no grabar datos repetidos de asp.net a sql server

Publicado por DArkpiscis (79 intervenciones) el 12/07/2011 23:00:45
hago el conteo en un store solo con ese campo, pero como hago la condicion como reconosco ese dato que estyo ingresando?
en casi todas mis consultas solo he usado gridviws, para mostrar la info y no textbox


mi capa logica

Public Function GetOne4(ByVal codigo As String) As CarreraList
Try
Dim lista As New CarreraList
Dim item As New Carrera
Dim param() As String = {codigo}
Using dr As IDataReader = Me.ExecuteReader("Usp_Carrera_GetOne4", param)
If dr.Read Then
item.Carrera = CStr(dr("Carrera"))

lista.Add(item)
End If
End Using
Return lista
Catch ex As Exception
Throw ex
End Try
End Function

capa reglas

Public Shared Function GetOne4(ByVal codigo As String) As CarreraList
Try
Return obj.GetOne4(codigo)
Catch ex As Exception
Throw ex
End Try
End Function

lo que no se es como o que controles usar en mi presentacion para validar con respecto a una consulta previa y de ahi grabe el dato si no existe

normal puedo hacer el mantenimiento en una pagina popup donde solo tengo el campo carrera y estado para grabarlo ya el codigo se autogenera desde el store

en este caso estyo usando la tabla carrera, y no quiero que se siga repitiendo al grabar la misma carrera
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Solucion ----no grabar datos repetidos de asp.net a sql server

Publicado por darkpiscis (79 intervenciones) el 16/07/2011 00:15:51
bueno fue algo facil solo es cuestiond e poner los campos de mi tabla en sql server como UNIQUE y listo ya no me acepta datos repetidos y en mi codigo, ojo ese codigo es usando 5 capas, si lo hacne a lo bruto ahi dentro pondran su codigo de conexion, su consulta y los parametros

Try
Dim item As New Layer_Entity.Idioma
item.Idioma = txt_idioma.Text
item.Estado = ddl_estado.SelectedValue
item.Codigo = IdiomaRB.Insert(item)
Catch ex As Exception
Response.Write("El dato ya existe")
End Try
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Solucion ----no grabar datos repetidos de asp.net a sql server

Publicado por darkpiscis (79 intervenciones) el 04/08/2011 16:49:02
y si quieren usar como mensaje de alerta javascript pueden usar esto

Try

Dim item As New Layer_Entity.Banco
item.Banco = txt_banco.Text
item.cod_estado_entity.Cod_estado = ddl_estado.SelectedValue
item.Codigo = BancoRB.Insert(item)
Response.Redirect("T_Banco_Nu.aspx")

Catch ex As Exception

Response.Write("<script>alert('Este dato ya existe en el sistema')</script>")

End Try

End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Solucion ----no grabar datos repetidos de asp.net a sql server

Publicado por juan (3 intervenciones) el 18/08/2011 19:22:24
trata de no usar cstr o cdate o esas funciones viejas de vb, usa mejor ctype(valor,datetime) u object.tostring.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Solucion ----no grabar datos repetidos de asp.net a sql server

Publicado por Cordova Leon Luis (2 intervenciones) el 30/08/2011 03:44:56
Saludos.
Bueno te aconsejaria que la validacion la pongas unicamente en tu procedimiento de agregar, y que ese procedimiento te retorne un valor y lo capturas con el ExecuteScalar() de .NET
tu procedimiento quedaria algo asi.

If Exists(Select 1 from tabla Where campo=campoaingresar) Begin
Select 'NO-INS' as MENSAJE
End Else Begin
Insert into Tabla values(aca todos tus valores)
Select 'INS' as MENSAJE
End

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar