Como criar e executar uma instrução SQL que não retorna nenhum valor
Para executar um instrução SQL que não retorna valor, você pode executar uma consulta TableAdapter que esteja configurada para executar uma instrução SQL (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 Text. ("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 provedor de dados do .NET Framework para SQL Server, o objeto de comando seria SqlCommand.)
Os exemplos a seguir mostram como executar instruções SQL que retornam nenhum 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 conjuntos de dados com dados.
Este exemplo mostra como criar uma consulta TableAdapter usando o TableAdapter Assistente de Configuração de Consulta, e em seguida, ele fornece informações sobre como declarar uma instância do TableAdapter e executar a consulta.
Dica
Seu computador pode mostrar nomes ou locais diferentes para alguns dos elementos da interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Personalizando configurações de desenvolvimento no Visual Studio.
Abra um dataset no Dataset Designer. Para obter mais informações, consulte Como abrir um conjunto de dados no Designer de Conjunto de Dados.
Se você não tiver um, crie um TableAdapter. Para obter mais informações sobre como criar TableAdapters, consulte Como criar TableAdapters.
Se você tiver uma consulta no seu TableAdapter que usa um intrução SQL que não retorna nenhum valor, então vá para o procedimento seguinte, "Para 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.
Deixe o valor padrão do Use SQL statements, e clique em Next.
Escolha o UPDATE, INSERT. ou a opçãoDELETE, e clique Next
Digite sua instrução SQL, ou use o Query Builder para auxiliar na criação de uma, e clique em Next.
Forneça um nome para a consulta.
Conclua o assistente; a consulta é adicionada ao TableAdapter.
Crie o seu projeto.
Declare uma instância do TableAdapter que contém 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
Dica
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, então haveria um namespace SalesDataSetTableAdapters contendo 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. Você também precisa passar em 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)
Consultas que nós pensamos que não retornam nenhum valor na verdade retornam um valor — um inteiro contendo o número de linhas afetadas pela consulta. O código completo para declarar uma instância de um TableAdapter e executar uma 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");
O exemplo a seguir mostra como criar um comando e executar uma intrução SQL que não retorne nenhum valor. Para obter informações sobre configurar e obter valores de parâmetro para um comando, consulte Como definir e obter parâmetros para objetos de comando.
Este exemplo usa o objeto SqlCommand e requer:
Referências aos namespaces System, System.Data e System.Xml.
Uma conexão de dados denominada SqlConnection1.
Uma tabela denominada Customers na fonte de dados à qual SqlConnection1 se conecta. (Caso contrário, você precisa de uma instrução SQL válida para sua fonte de dados).
Adicione o seguinte código para um método do qual você deseja executar a intrução SQL. Chame o método ExecuteNonQuery de um comando para retornar nenhum valor (por exemplo, SqlCommand.ExecuteNonQuery).
Dim sqlConnection1 As New SqlConnection("Your Connection String") Dim cmd As New SqlCommand Dim rowsAffected As Integer cmd.CommandText = "UPDATE Customers SET ContactTitle = 'Sales Manager' WHERE CustomerID = 'ALFKI'" cmd.CommandType = CommandType.Text 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 = "UPDATE Customers SET ContactTitle = 'Sales Manager' WHERE CustomerID = 'ALFKI'"; cmd.CommandType = CommandType.Text; cmd.Connection = sqlConnection1; sqlConnection1.Open(); rowsAffected = cmd.ExecuteNonQuery(); sqlConnection1.Close();
O aplicativo requer permissão para acessar o banco de dados e executar a instrução SQL.
Como criar consultas TableAdapter
Como editar consultas TableAdapter
Como preencher um conjunto de dados com dados