Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/09/2010, 21:56
degauss
 
Fecha de Ingreso: enero-2010
Ubicación: Stgo - Chile
Mensajes: 73
Antigüedad: 14 años, 2 meses
Puntos: 0
Insercion por Procedimiento Almacenado

Bueno tengo el siguiente problema.. logro hacer una insersion a la BD por parametros a traves de VB.NET..

Lo que me pasa es que hago la insercion y todo pero en el cambo nombre y tipo que son varchar no me inserta todo si no que la 1era letra no se que podra ser

dejo los codigos para ver si alguien me dice donde puedo estar cometiendo el error, por que se que es algo bien pequeño creo.-

EL PROCEDIMIENTO ALMACENADO
----------------------------------------------------------------------------------

ALTER procedure [dbo].[sp_guardar_universidad]
@cod int,
@nombre varchar,
@tipo varchar,
@cont int = 0 output
as
if (SELECT COUNT(*) FROM universidad WHERE cod_universidad = @cod) = 0
begin
INSERT INTO universidad (cod_universidad, nombre, tipo_universidad)
VALUES (@cod, @nombre, @tipo)
set @cont = 1
end
else
begin
set @cont = 2
end

-------------------------------------------------------------------------------------

El codigo VB.NET

--------------------------------------------------------------------------------------

Private Sub btn_guardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_guardar.Click
Dim con As SqlConnection = Conexion.ObtenerConexion()
Using con
Try
Dim cmd As New SqlCommand("sp_guardar_universidad", con)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.Add("@cod", SqlDbType.Int).Value = CInt(txtcod.Text)
cmd.Parameters.Add("@nombre", SqlDbType.VarChar).Value = CStr(txtins.Text)
cmd.Parameters.Add("@tipo", SqlDbType.VarChar).Value = CStr(combo_uni.Text)
cmd.Parameters.Add("@cont", SqlDbType.Int)
cmd.Parameters("@cont").Direction = ParameterDirection.Output
MsgBox(txtins.Text)
cmd.ExecuteNonQuery()
Dim cont As Integer = CInt(cmd.Parameters("@cont").Value)
If cont = 1 Then
MsgBox("Inserción realizada")
Actualizar()
Else
MsgBox("Ya existe este registro")
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Using
End Sub



--------------------------------------------------------


15 Helen Keller CFT
16 U P
43 s P
55 l E
100 l E

Por ejemplo la insersion 15 la hize bien por consulta normal pero despues con procdiimiento me inserta eso..

si alguien me puede ayudar se lo agradeceria mucho

Saludos