Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

logicinvent

Como envio parametros para um Stored Procedure?

Recommended Posts

Como envio parametros para um Stored Procedure?

 

Eu tentei enviar parametros par aum stored procedure, mas ele da erro sempre.

Conexao ..

Dim ler As SqlDataReader
		'variavel para consulta
		Dim consulta = "select_categoria"
		'abrir conexao
		SQLconecta.Open()
		'variavel para executar a consulta
		Dim comando As New SqlCommand(consulta, SQLconecta)
		'declara o comando
		Dim variaveis = New SqlCommand
		'tipo de consulta
		comando.CommandType = CommandType.StoredProcedure
		'executa os parametros
		variaveis.Parameters.Add(New SqlParameter("@atributo", envia.id))
		ler = comando.ExecuteReader()

'AQUI EU TENTO LER OS CAMPOS
ler('categoria")

		ler.Close()
		SQLconecta.Close()
CREATE STORED PROCEDURE select_categoria @atributo
as begin select * from categorias where id = @atributo
end

 

Valeu :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu uso através de class mas o procedimento pode ser feito da mesma forma no code-behind.

O exemplo está em C#.

 

a conexão é definida dentro do proprio class e é recuperada da web.config.

_connectionString = WebConfigurationManager.ConnectionStrings["SqlString"].ConnectionString;

 

o comando: results.Add(new Distribuidores(reader)); chama o metodo abaixo...

public Distribuidores(SqlDataReader reader)

{

_idDistrib = (int)reader["did"];

_cnpj = (reader["cnpj"]!= DBNull.Value) ? LabDesign.Validate.formataCPF_CNPJ((string)reader["cnpj"]): null;

_empresa = (string)reader["empresa"];

_tipo = getDbStringField(reader, "tipo");

_regiao = (reader["regiao"] != DBNull.Value) ? (string)reader["regiao"] : "N/C";

_status = (int)reader["status"];

 

Usei List do Collections.Generic para retornar um datareader

O List é associado ao class e neste caso recebe um parametro para busca

se busca for null, seleciona todos os registros.

public static List<Distribuidores> Select(string busca)

{

// Initialize command

if (busca==null) busca="";

SqlConnection con = new SqlConnection(_connectionString);

SqlCommand cmd = new SqlCommand("Distribuidores_Select", con);

cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.AddWithValue("@busca", busca); // adiciona parametro para envio à SP

 

List<Distribuidores> results = new List<Distribuidores>(); // cria variavel tipo List para retorno

using(con)

{

con.Open(); // abre a conexao

SqlDataReader reader = cmd.ExecuteReader(); // executa a leitura

while(reader.Read())

results.Add(new Distribuidores(reader)); // atribui a variavel de retorno os dados

}

return results;

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola...

 

não sei se já resolveram o problema..

 

mas acho q o código abaixo pode ajudar..

 

Dim conn As New SqlConnection()
		conn.ConnectionString = "Data Source=ServerName;Initial Catalog=Northwind;Persist Security Info=True;User ID=<user name>;Password=<your password>"

		Dim cmd As New SqlCommand()
		cmd.Connection = conn
		cmd.CommandType = CommandType.StoredProcedure
		cmd.CommandText = "CustOrderHist"

		' Create a SqlParameter for each parameter in the stored procedure.
		Dim customerIDParam As New SqlParameter("@NomeParametro", "Valor")
		cmd.Parameters.Add(customerIDParam)

		Dim rowCount As Integer
		Dim previousConnectionState As ConnectionState
		previousConnectionState = conn.State
		Try
			If conn.State = ConnectionState.Closed Then
				conn.Open()
			End If
			rowCount = cmd.ExecuteNonQuery()

		Finally
			If previousConnectionState = ConnectionState.Closed Then
				conn.Close()
			End If
		End Try

 

Atenciosamente,

 

_______________________________________________

Guilherme Henrique A. Oliveira - Analista Desenvolvedor

 

guilhermehenriqueuberlandia@gmail.com

guilherme_amigawa@hotmail.com

guilherme@hmsconsulting.com.br

 

Uberlândia - MG

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.