SQL Server - Como Inserto un Procedimiento Almacenado con un Campo Autonumerico de SQL 2008 a ASP.NET 2010 vb?

   
Vista:

Como Inserto un Procedimiento Almacenado con un Campo Autonumerico de SQL 2008 a ASP.NET 2010 vb?

Publicado por Franklin (3 intervenciones) el 14/02/2013 17:29:46
Mi Tabla en SQL Server 2008

Cod_Fue int Código de la Fuente de financiamiento
Des_Fue Varchar 255 Descripción de la Fuente de Financiamiento
Cod_Est Int Código de estado que utilizare para diferenciar entre Habilitado y Inhabilitado


Procedimiento que hice y me funciona pero SIN el Cod_Fue autonumerico

Create procedure InsertarFuente
@Cod_Fue int,
@Des_Fue varchar(50),
@Cod_Est int
as
Begin
insert into dbo.Fuente values(@Cod_Fue, @Des_Fue, @Cod_Est)
End

Mi Código en ASP.NET vb 2010

mports Microsoft
Imports System.Data
Imports System.Data.SqlClient
Public Class FuenteNuevo
Inherits System.Web.UI.Page

Dim Conexion As New SqlConnection("Data Source=(local);Initial Catalog=SICE;Integrated Security=True")
Protected Sub BtnAgregar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnAgregar.Click
TxtCod_Fue.Enabled = True
TxtDes_Fue.Enabled = True
TxtCod_Fue.Focus()
Dim cmd As New SqlCommand("InsertarFuente", Conexion)
cmd.CommandType = CommandType.StoredProcedure
With cmd.Parameters
.Add("Cod_Fue ", SqlDbType.Int, 20).Value = TxtCod_Fue.Text
.Add("Des_Fue ", SqlDbType.VarChar, 50).Value = TxtDes_Fue.Text
.Add("Cod_Est ", SqlDbType.Int, 20).Value = TxtCod_Est.Text
End With

Conexion.Open()
Try
Dim i As Integer = cmd.ExecuteNonQuery
MsgBox("Fuente ha Sido Insertada con exito")
LblMensaje.Text = "Fuente Ingresada"

Catch ex As Exception
LblMensaje.Text = " Datos Incorrectos"
Finally
Conexion.Close()
End Try
FuenteAgregar.OldValuesParameterFormatString = True
ASPxGridView1.DataBind()
End Sub
End Class
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
Imágen de perfil de Isaias

Como Inserto un Procedimiento Almacenado con un Campo Autonumerico de SQL 2008 a ASP.NET 2010 vb?

Publicado por Isaias (3186 intervenciones) el 14/02/2013 19:12:29
Si tu campo llave es AUTONUMERICO (IDENTITY), no lo debes indicar al momento el INSERT.

insert into dbo.Fuente values(@Des_Fue, @Cod_Est)

Ahora bien, debes tener claro que los IDENTITY, solo son para registros que NO SE BORRARAN NUNCA y que no deberas tener fallos de inserccion, ya que no se pueden re-numerar.

¿De acuerdo?
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

Como Inserto un Procedimiento Almacenado con un Campo Autonumerico de SQL 2008 a ASP.NET 2010 vb?

Publicado por Franklin (3 intervenciones) el 14/02/2013 20:30:22
Hola si te entendi, no lo debo incluir pero debo quitar esto del asp.net

.Add("Cod_Fue ", SqlDbType.Int, 20).Value = TxtCod_Fue.Text
?
soy nuevo en esoto y por mas q pruebo no me sale :(
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
Imágen de perfil de Isaias

Como Inserto un Procedimiento Almacenado con un Campo Autonumerico de SQL 2008 a ASP.NET 2010 vb?

Publicado por Isaias (3186 intervenciones) el 15/02/2013 00:14:10
Exacto, Cod_Fue, no juega en el insert, ya que esta columna se calcula de forma automatica (IDENTITY).
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

Como Inserto un Procedimiento Almacenado con un Campo Autonumerico de SQL 2008 a ASP.NET 2010 vb?

Publicado por Franklin (3 intervenciones) el 15/02/2013 20:36:59
otra preguntita como lo hago para capturar datos de un combobox?

.Add("Cod_Fue ", SqlDbType.Int, 20).Value = Combobox.Text

te lo agradecería mucho
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