SOCORRO COM PARAMETROS PARA STORED PROCEDURE
Srs do forum, bom dia,
Venho pedir a ajuda de voces para um problema que esta me atormentando e nao consigo resolver, talvez pq ainda nao saiba procurar direito aqui no forum, tal por pura incompetencia minha, mas é o seguinte :
Estou migrando aos poucos para .NET e me deparei com um problema que nao estou conseguindo resolver que é o seguinte :
Estou tentando passar um parametro para uma stored procedure cujo valor é R$ 1500,15 porem nao estou sabendo como declarar este parametro, segue abaixo meu codigo e o codigo da SP.
STORED PROCEDURE :
CREATE PROCEDURE dbo.IncluiCheques
-- Add the parameters for the stored procedure here
@CliId int,
@ChequeBruto decimal(18,2),
@ChequeObs nvarchar(50),
@ChequeProc nvarchar(1)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
insert into tCheques (CliId,Cheque) values(@CliId,@ChequeBruto)
END
GO
MINHA PASSAGEM DE PARAMETRO PARA A STORED PROCEDURE
Dim con As New SqlConnection(Module1.strcon)
Dim comando As New SqlCommand([Ô]dbo.IncluiCheques[Ô], con)
comando.CommandType = CommandType.StoredProcedure
comando.Parameters.Add(New SqlParameter([Ô]@CliId[Ô], SqlDbType.Int))
comando.Parameters([Ô]@CliId[Ô]).Value = CliId
[txt-size=1][txt-color=#e80000]COMO PASSAR O PARAMETRO ABAIXO DE FORMA QUE FUNCIONE A INCLUSAO ?[/txt-color] [/txt-size]
comando.Parameters.Add(New SqlParameter([Ô]@ChequeBruto[Ô], SqlDbType.Decimal, (18, 2)))
comando.Parameters([Ô]@ChequeBruto[Ô]).Value = ChequeBruto
POR FAVOR ME AJUDEM NAO CONSIGO SAIR DAQUI.......
Venho pedir a ajuda de voces para um problema que esta me atormentando e nao consigo resolver, talvez pq ainda nao saiba procurar direito aqui no forum, tal por pura incompetencia minha, mas é o seguinte :
Estou migrando aos poucos para .NET e me deparei com um problema que nao estou conseguindo resolver que é o seguinte :
Estou tentando passar um parametro para uma stored procedure cujo valor é R$ 1500,15 porem nao estou sabendo como declarar este parametro, segue abaixo meu codigo e o codigo da SP.
STORED PROCEDURE :
CREATE PROCEDURE dbo.IncluiCheques
-- Add the parameters for the stored procedure here
@CliId int,
@ChequeBruto decimal(18,2),
@ChequeObs nvarchar(50),
@ChequeProc nvarchar(1)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
insert into tCheques (CliId,Cheque) values(@CliId,@ChequeBruto)
END
GO
MINHA PASSAGEM DE PARAMETRO PARA A STORED PROCEDURE
Dim con As New SqlConnection(Module1.strcon)
Dim comando As New SqlCommand([Ô]dbo.IncluiCheques[Ô], con)
comando.CommandType = CommandType.StoredProcedure
comando.Parameters.Add(New SqlParameter([Ô]@CliId[Ô], SqlDbType.Int))
comando.Parameters([Ô]@CliId[Ô]).Value = CliId
[txt-size=1][txt-color=#e80000]COMO PASSAR O PARAMETRO ABAIXO DE FORMA QUE FUNCIONE A INCLUSAO ?[/txt-color] [/txt-size]
comando.Parameters.Add(New SqlParameter([Ô]@ChequeBruto[Ô], SqlDbType.Decimal, (18, 2)))
comando.Parameters([Ô]@ChequeBruto[Ô]).Value = ChequeBruto
POR FAVOR ME AJUDEM NAO CONSIGO SAIR DAQUI.......
Compare para ver, parece que esta passando paramentro errado ai !
Fonte: VB.NET - Brincando com Stored Procedures no SQL Server
Public Class Executa_sp
Inherits System.Windows.Forms.Form
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim cmd As New SqlCommand([Ô]exemplo_de_stored_procedure[Ô], sqlcon)
da = New SqlDataAdapter(cmd)
ds = New DataSet
[ô]definindo o parâmetro : nome , tipo , valor
Dim input As New SqlParameter
With input
.ParameterName = [Ô]@CustomerID[Ô]
.SqlDbType = SqlDbType.NChar
.Value = TextBox1.Text
End With
[ô]definindo o comando : o tipo de parâmetro (entra/saida) e o tipo de comando.
With cmd
.Parameters.Add(input)
.CommandType = CommandType.StoredProcedure
End With
[ô]preenche o dataset com os dados da sp
da.Fill(ds, [Ô]exemplo_de_stored_procedure[Ô])
[ô]vincula a tabela gerada ao datagrid
DataGrid1.DataSource = ds.Tables(0)
[ô]exibe o número de registros selecionados
With ds.Tables([Ô]exemplo_de_stored_procedure[Ô])
MsgBox(.DefaultView.Count.ToString() & [Ô] registro(s) localizado(s) ![Ô], MsgBoxStyle.Information, Me.Text)
TextBox1.Focus()
End With
Catch sqlex As SqlException
MsgBox([Ô] Erro Numero : [Ô] & sqlex.Number & vbCrLf & [Ô] Erro Descrição : [Ô] & sqlex.Message & vbCrLf & [Ô] Erro na linha no : [Ô] & sqlex.LineNumber)
Catch exc As Exception
MsgBox(exc.Message)
End Try
End Sub
End Class
Fonte: VB.NET - Brincando com Stored Procedures no SQL Server
Obrigado ZEROCAL, ja consegui solucionar,
apenas para ajudar a quem precisar futuramente como eu, fiz o seguinte :
na linha que passa o parametro coloquei assim :
comando.Parameters.Add(New SqlParameter([Ô]@ChequeBruto[Ô], SqlDbType.Decimal, 18))
comando.Parameters([Ô]@ChequeBruto[Ô]).Direction = ParameterDirection.Input
comando.Parameters([Ô]@ChequeBruto[Ô]).Precision = 18
comando.Parameters([Ô]@ChequeBruto[Ô]).Scale = 2
comando.Parameters([Ô]@ChequeBruto[Ô]).Value = ChequeBruto
Obrigado pela atenção.
apenas para ajudar a quem precisar futuramente como eu, fiz o seguinte :
na linha que passa o parametro coloquei assim :
comando.Parameters.Add(New SqlParameter([Ô]@ChequeBruto[Ô], SqlDbType.Decimal, 18))
comando.Parameters([Ô]@ChequeBruto[Ô]).Direction = ParameterDirection.Input
comando.Parameters([Ô]@ChequeBruto[Ô]).Precision = 18
comando.Parameters([Ô]@ChequeBruto[Ô]).Scale = 2
comando.Parameters([Ô]@ChequeBruto[Ô]).Value = ChequeBruto
Obrigado pela atenção.
Excelente parabéns, se ja solucionou podes fechar o Tópico...
Abraços
Abraços
Tópico encerrado , respostas não são mais permitidas