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: 12214 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: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- 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: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <%@ 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: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- 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 |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |