Foros del Web » Programación para mayores de 30 ;) » .NET »

Pasar parametros vacios.

Estas en el tema de Pasar parametros vacios. en el foro de .NET en Foros del Web. Hola a todos, antes que nada les cuento que estoy trabajando con VisualStudio 2008 (.Net) y SQL Server 2005 en el proyecto de visual, tengo ...
  #1 (permalink)  
Antiguo 04/11/2009, 16:17
 
Fecha de Ingreso: marzo-2007
Mensajes: 340
Antigüedad: 17 años, 2 meses
Puntos: 4
Pasar parametros vacios.

Hola a todos,

antes que nada les cuento que estoy trabajando con VisualStudio 2008 (.Net) y SQL Server 2005


en el proyecto de visual, tengo una capa de interfaz, y una .dll, el problema esta en que en mi interfaz hay campos que
no son obligatorios, por lo cual el usuario los puede dejar en blanco...y ahi se genera el problema, porq no me pasa ese
parametro, dice q hay un error al tratar de convertir un campo "", a string o integer, dependiendo el caso.

Este es el llamado al procedimiento de la interfaz:

Funciones.Alta_Cliente("AltaCliente", "Personas", TxtNomC.Text, TxtApeC.Text, CmbBarrioC.SelectedValue, TxtCalleC.Text, TxtNC.Text, DtpNacC.Text, TxtDniC.Text, TxtTelC.Text, CmbTipDocC.SelectedValue, TxtPisoC.Text, TxtCelC.Text, TxtWebC.Text, TxtMailC.Text, TxtDptoC.Text)

y este es el procedimiento de la .dll:

Public Sub Alta_Cliente(ByVal Proc As String, ByVal Tabla As String, ByVal Nombre As String, ByVal Apellido As String, ByVal Barrio As Integer, ByVal Calle As String, ByVal Num As Integer, ByVal Fecha_Nac As Date, ByVal NumDoc As Integer, ByVal Tel As Integer, ByVal TipoDoc As Integer, Optional ByVal Piso As Integer = Nothing, Optional ByVal Cel As Integer = Nothing, Optional ByVal Web As String = Nothing, Optional ByVal Mail As String = Nothing, Optional ByVal Dpto As String = Nothing)
Dim Con As New SqlConnection
Conectar(Con)
Dim DS As New DataSet
Dim Comando As New SqlCommand
Comando.Connection = Con
Comando.CommandType = CommandType.StoredProcedure
Comando.CommandText = Proc
Comando.Parameters.Clear()
Comando.Parameters.AddWithValue("@Nom", Nombre)
Comando.Parameters.AddWithValue("@Ape", Apellido)
Comando.Parameters.AddWithValue("@Calle", Calle)
Comando.Parameters.AddWithValue("@Dpto", Dpto)
Comando.Parameters.AddWithValue("@Mail", Mail)
Comando.Parameters.AddWithValue("@Web", Web)
Comando.Parameters.AddWithValue("@Fecha_Nac", Fecha_Nac)
Comando.Parameters.AddWithValue("@Num_Doc", NumDoc)
Comando.Parameters.AddWithValue("@Num", Num)
Comando.Parameters.AddWithValue("@Tel", Tel)
Comando.Parameters.AddWithValue("@Cel", Cel)
Comando.Parameters.AddWithValue("@Piso", _Piso)
Comando.Parameters.AddWithValue("@Tipo_Doc", TipoDoc)
Comando.Parameters.AddWithValue("@Barrio", Barrio)

Dim Adaptador As New SqlDataAdapter(Comando)
Adaptador.Fill(DS, Tabla)
End Sub


Otro datito....en la base de datos, tengo tildados esos campos (no obligatorios) para que acepten valores nulos...


Espero haber sido lo mas claro posible, y que puedan ayudarme...desde ya muchas graciaas ...
  #2 (permalink)  
Antiguo 05/11/2009, 10:58
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Tema trasladado desde la sección de Visual Basic clásico.

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 05/11/2009, 12:21
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
Respuesta: Pasar parametros vacios.

Si quieres grabar un valor nulo, deberás pasarle al parámetro el valor "DBNull.Value"
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #4 (permalink)  
Antiguo 05/11/2009, 20:04
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: Pasar parametros vacios.

Creo que mejor sería que en tu Base de datos le asignes un valor por default a esos campos así no guardas null.
Código sql:
Ver original
  1. CREATE TABLE Cliente
  2. (
  3. Id INT PRIMARY KEY,
  4. nombre VARCHAR(50),
  5. telefono VARCHAR(15) DEFAULT('')
  6. )

Espero te ayude
__________________
Eduardo Peredo
Wigoin
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:52.