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 ...