Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.

Você está aqui: ASP.NET ::: ASP.NET + SQL Server ::: Inserção (adição, gravação) de dados

Como inserir dados em uma tabela do SQL Server usando o controle <asp:SqlDataSource>

Quantidade de visualizações: 12303 vezes
O controle <asp:SqlDataSource> do ASP.NET é muito útil no desenvolvimento de pequenas aplicações web que precisam interagir com o banco de dados SQL Server. Este controle possui uma propriedade ConnectionString que nos permite usá-lo para obter uma conexão com o banco de dados. Além disso, por meio de suas propriedades SelectCommand, InsertCommand, DeleteCommand, etc, nós fornecemos o comando (query) a ser executada no banco de dados.

Nesta dica eu mostrarei, passo-a-passo, como criar uma página ASP.NET contendo um formulário e um controle <asp:SqlDataSource> que possibilitará inserir as informações do formulário em uma tabela chamada contatos. Esta tabela pode ser criada com o seguinte comando DDL CREATE TABLE:

CREATE TABLE [dbo].[contatos] (
  [id] int IDENTITY(1, 1) NOT NULL,
  [nome] varchar(100) COLLATE Latin1_General_CI_AS NOT NULL,
  [telefone] varchar(30) COLLATE Latin1_General_CI_AS NULL,
  [email] varchar(50) COLLATE Latin1_General_CI_AS NULL,
  PRIMARY KEY CLUSTERED ([id])
)

Veja que esta tabela possui os campos id, nome, telefone e email. Como o campo id é auto-incremento, não precisamos nos preocupar com ele. Assim, vamos criar um formulário contendo três caixas de texto <asp:TextBox>, um <asp:Button> e um controle <asp:SqlDataSource>. Veja o código para a página Default.aspx:

<%@ Page Language="C#" AutoEventWireup="true"  
CodeFile="Default.aspx.cs" Debug="true"
Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>Estudos ASP.NET</title>
</head>
<body>

<form id="form1" runat="server">
  
<asp:Label ID="Label1" runat="server" Text="Nome:" AssociatedControlID="txtNome">
</asp:Label><br />
<asp:TextBox ID="txtNome" runat="server" Width="370px"></asp:TextBox><br />
<asp:Label ID="Label2" runat="server" Text="Telefone:" 
  AssociatedControlID="txtTelefone"></asp:Label><br />
<asp:TextBox ID="txtTelefone" runat="server" Width="370px"></asp:TextBox><br />
<asp:Label ID="Label3" runat="server" Text="E-Mail:" 
  AssociatedControlID="txtEmail"></asp:Label><br />
<asp:TextBox ID="txtEmail" runat="server" Width="370px"></asp:TextBox><br />
<asp:Button ID="Button1" runat="server" Text="Gravar" 
  onclick="Button1_Click" /><br />
<asp:Label ID="Label4" runat="server" Text="Resultado da operação">
</asp:Label>  
  
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
  ConnectionString="<%$ ConnectionStrings:estudosConnectionString %>" 
  InsertCommand="INSERT INTO contatos(nome, telefone, email) 
    VALUES(@nome, @telefone, @email)"> 
  <InsertParameters>
    <asp:FormParameter name="nome" FormField="txtNome" />
    <asp:FormParameter name="telefone" FormField="txtTelefone" />
    <asp:FormParameter name="email" FormField="txtEmail" />
  </InsertParameters>
</asp:SqlDataSource>
  
</form>

</body>
</html>

Vamos deter um pouco nossa atenção no controle <asp:SqlDataSource>. Veja que usamos sua propriedade ConnectionString para informar a string de conexão registrada no arquivo web.config. Em minhas outras dicas sobre este controle você aprenderá a registrar a string de conexão diretamente no controle SqlDataSource.

Em seguida nós informamos a instrução SQL INSERT na propriedade InsertCommand. Veja que esta instrução possui os parâmetros @nome, @telefone e @email e os valores para estes virão do formulário. Desta forma, um elemento <InsertParameters> nos auxilia na tarefa de fornecer os parâmetros adequados à instrução INSERT, de modo que não precisamos usar muito código C# ou VB.NET neste exemplo.

Note que, dentro do elemento <InsertParameters> nós temos três elementos <asp:FormParameter>. São estes que nos permitem fazer a ponte entre os parâmetros da instrução SQL INSERT e os campos do formulário.

Veja agora o código para o arquivo de code-behind Default.aspx.cs:

using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page {
  protected void Button1_Click(object sender, EventArgs e){
    // vamos inserir os dados do formulário na tabela
    SqlDataSource1.Insert();

    // vamos limpar os campos do formulário
    txtNome.Text = "";
    txtTelefone.Text = "";
    txtEmail.Text = "";
    // vamos colocar o foco no campo txtNome
    txtNome.Focus();

    // vamos mostrar o resultado da operação
    Label4.Text = "Dados cadastrados com sucesso.";
  }
}

Aqui nós temos a implementação de código para o evento Click do botão. Note que tudo que fizemos foi efetuar uma chamada ao método Insert() do controle SqlDataSource. Basta isso para que os dados já sejam inseridos na tabela do banco de dados. É claro que aqui não fizemos nenhum tratamento de erros nem validação dos dados. Em outras de minhas dicas relacionados ao ASP.NET você aprenderá como isso pode ser feito.

Link para compartilhar na Internet ou com seus amigos:

Veja mais Dicas e truques de ASP.NET

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby


E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser. Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 19,90


© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 66 usuários muito felizes estudando em nosso site.