 
			
				13/09/2010, 07:19
			
			
			     |  
        |     |    |    Fecha de Ingreso: septiembre-2009  
						Mensajes: 125
					  Antigüedad: 16 años, 1 mes Puntos: 1     |        |  
  |      Respuesta: Insercion por Procedimiento Almacenado         Cita:  
					Iniciado por degauss    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     Modifica el SP para que reciba el nombre en una varchar(100) así:  
@nombre	varchar(100)      
				__________________  Juan David Torres Vasquez  [email protected]
Microsoft Certified Technology Specialist (MCTS) 
DCE Platinum en Visual C# y VB.NET            |