Como: Executar um procedimento armazenado que retorna nenhum valor
Para executar um procedimento armazenado que não retorna um valo, você pode executar uma consulta TableAdapter que esteja configurada para executar um procedimento armazenado (por exemplo, CustomersTableAdapter.UpdateTableData(CustomersDataTable)).
Se seu aplicativo não usa TableAdapters, chame o método ExecuteNonQuery em um objeto de comando, definindo sua propriedade CommandType como StoredProcedure.("Objeto de comando" refere-se ao comando específico para o .NET Framework Data Provider que seu aplicativo está usando.Por exemplo, se seu aplicativo estiver usando o .NET Framework Data Provider para SQL Server, o objeto de comando seria SqlCommand.)
Os exemplos a seguir mostram como executar procedimentos armazenados que não retornam valor de um banco de dados usando o TableAdapters ou objetos de comando.Para obter mais informações sobre como consultar com TableAdapters e comandos, consulte Preenchendo DataSets e consultando dados de uma forma geral.
Observação: |
---|
As caixas de diálogo e menu comandos que você vê podem diferir das descritas no Help dependendo de suas configurações ativas ou edição.Para alterar as configurações, escolher Importar e exportar configurações on the Ferramentas menu.Para obter mais informações, consulte Configurações do Visual Studio. |
Executar procedimentos armazenados que não retornam valores usando um TableAdapter
Este exemplo mostra como criar uma consulta TableAdapter usando o Assistente de configuração da consulta TableAdapter, e em seguida, ele fornece informações sobre como declarar uma instância do TableAdapter e executar a consulta.
Para criar um procedimento armazenado que não retorna valor usando um TableAdapter
Abra um dataset no Dataset Designer.Para obter mais informações, consulte Como: Abra um Dataset no Designer de Conjunto de Dados de Conjunto de Dados.
Se você não tiver um, crie um TableAdapter.Para obter mais informações sobre como criar TableAdapters, consulte Como: Crie TableAdapters.
Se você tiver uma consulta no seu TableAdapter que usa um procedimento armazenado que não retorna valor, vá para o procedimento seguinte, " declarar uma instância do TableAdapter e executar a consulta. " Caso contrário, prossiga com a etapa 4 para criar uma nova consulta que não retorna nenhum valor.
Clique com o botão direito do mouse no TableAdapter que você deseja, e use o menu de atalho para adicionar uma consulta.
O TableAdapter Query Configuration Wizard abre.
Selecione Use existing stored procedure, e clique em Next.
Selecione um procedimento armazenado na lista suspensa, e clique em Next.
Selecione a opção para retornar No value, e clique Next.
Forneça um nome para a consulta.
Clique em Next ou Finish para concluir o assistente;. a consulta é adicionada ao TableAdapter
Crie seu projeto.
Para declarar uma instância do TableAdapter e executar a consulta
Declare uma instância do TableAdapter que contnah a consulta que você deseja executar.
Para criar uma instância usando ferramentas em tempo de design, arraste o TableAdapter que você deseja a partir da Toolbox.(Os componentes no seu projeto agora aparecem no Toolbox sob um título que coincide com o nome do projeto.) Se o TableAdapter não aparecer no Toolbox, então você talvez precise criar seu projeto.
- ou -
Para criar uma instância no código, substitua o código a seguir pelos nomes de seu DataSet e TableAdapter.
Dim tableAdapter As New DataSetTableAdapters.TableAdapter
Observação: Na verdade os TableAdapters não estão localizados dentro de suas classes dataset associadas.Cada dataset tem uma coleção correspondente de TableAdapters no seu próprio namespace.Por exemplo, se você tiver um dataset chamado SalesDataSet, e em seguida, deve haver um SalesDataSetTableAdapters namespace que contém seus TableAdapters.
Chame sua consulta como você chamaria qualquer outro método no código.Sua consulta é um método no TableAdapter.Substitua o código a seguir pelos nomes de seu TableAdapter e de sua consulta.Também será necessário passar quaisquer parâmetros necessários para sua consulta.Se você não tiver certeza se sua consulta requer parâmetros, ou que parâmetros requer, então, verifique o IntelliSense para a assinatura necessária da consulta.Dependendo se sua consulta usa parâmetros ou não, o código seria de aparência semelhante a um dos exemplos a seguir:
TableAdapter.Query()
TableAdapter.Query(Parameters)
O código completo para declarar uma instância do TableAdapter e executar a consulta deve ser semelhante ao seguinte:
Dim tableAdapter As New NorthwindDataSetTableAdapters.CustomersTableAdapter() Dim rowsAffected As Integer rowsAffected = CType(tableAdapter.UpdateContactTitle("Sales Manager", "ALFKI"), Integer)
NorthwindDataSetTableAdapters.CustomersTableAdapter tableAdapter = new NorthwindDataSetTableAdapters.CustomersTableAdapter(); int rowsAffected = tableAdapter.UpdateContactTitle("Sales Manager", "ALFKI");
Executar procedimentos armazenados que nãp retornar valor usando um objeto comando
O exemplo a seguir mostra como criar um comando e executar um procedimento armazenado que não retorna nenhum valor.Para obter informações sobre configurar e obter valores de parâmetro para um comando, consulte Como: conjunto e Get Parameters for Command Objects.
Este exemplo usa o objeto SqlCommand e requer:
- Referências aos namespaces System, System.Data e System.Xml.
Para executar um procedimento armazenado que não retorna nenhum valor usando um DataCommand
Adicione o seguinte código para um método de onde você deseja executar o procedimento armazenado.Chame o método ExecuteNonQuery de um comando para retornar nenhum valor (por exemplo, ExecuteNonQuery).
Dim sqlConnection1 As New SqlConnection("Your Connection String") Dim cmd As New SqlCommand Dim rowsAffected As Integer cmd.CommandText = "StoredProcedureName" cmd.CommandType = CommandType.StoredProcedure cmd.Connection = sqlConnection1 sqlConnection1.Open() rowsAffected = cmd.ExecuteNonQuery() sqlConnection1.Close()
SqlConnection sqlConnection1 = new SqlConnection("Your Connection String"); SqlCommand cmd = new SqlCommand(); Int32 rowsAffected; cmd.CommandText = "StoredProcedureName"; cmd.CommandType = CommandType.StoredProcedure; cmd.Connection = sqlConnection1; sqlConnection1.Open(); rowsAffected = cmd.ExecuteNonQuery(); sqlConnection1.Close();
Segurança
O aplicativo requer permissão para acessar o banco de dados e executar a instrução SQL.
Consulte também
Tarefas
Como: Criar consultas TableAdapter
Como: Editar consultas do TableAdapter
Como: Preencher um DataSet com dados
Como: conjunto e Get Parameters for Command Objects
Conceitos
Preenchendo DataSets e consultando dados de uma forma geral