Gs3llmann 0 Denunciar post Postado Julho 28, 2009 Olá, sou iniciante na plataforma .net e estou tentando criar um pequeno formulário que inserir o Nome, Sobre Nome e email é enviado para uma pequena base de dados em sql, segue os dados para analise! Obs.: peço que ao responder explique o motivo do erro. :rolleyes: Obrigado. Página default.aspx <%@ Page Language="C#"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> private void inserir (object source, EventArgs e){ SqlDataSource.Insert(); } protected void Page_Load(object sender, EventArgs e) { } </script> <html> <head runat="server"> <title>Inserindo dados com SQL</title> </head> <body> <form id="form1" runat="server"> <div> <asp:SqlDataSource ID="SqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:infratelecomConnectionString %>" SelectCommand="SELECT [nome], [sobrenome], [email] FROM [Telefonia]"> </asp:SqlDataSource> <br /> <asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource" DataTextField="nome" DataValueField="sobrenome" Height="20px" Width="167px"> </asp:DropDownList> <br /> <asp:Label ID="Label1" runat="server" Text="Nome: "></asp:Label> <br /> <asp:TextBox ID="Nome" runat="server"> </asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="Nome" ErrorMessage="Digite seu nome!"></asp:RequiredFieldValidator> <br /> <asp:Label ID="Label2" runat="server" Text="Sobre Nome:"></asp:Label> <br /> <asp:TextBox ID="sobrenome" runat="server"> </asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="sobrenome" ErrorMessage="Digite seu sobre nome!"></asp:RequiredFieldValidator> <br /> <asp:Label ID="Label3" runat="server" Text="E-mail:"></asp:Label> <br /> <asp:TextBox ID="email" runat="server"> </asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="email" ErrorMessage="Digite seu e-mail!" Visible="False"></asp:RequiredFieldValidator> <br /> <asp:Button ID="button1" runat="server" Text="Inserir dados" OnClick="inserir" /> </div> </form> </body> </html> Base SQL create database infratelecom Create table Telefonia ( nome varchar(50) not null primary key, sobrenome varchar(50) not null, email varchar(80) not null, ) Erro que apresenta Inserting is not supported by data source 'SqlDataSource' unless InsertCommand is specified. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.NotSupportedException: Inserting is not supported by data source 'SqlDataSource' unless InsertCommand is specified. Source Error: Line 4: <script runat="server"> Line 5: private void inserir (object source, EventArgs e){ Line 6: SqlDataSource.Insert(); Line 7: } Line 8: Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Julho 28, 2009 Movido Plataforma .NET http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET > Web Applications É simples você não definiu o Insert do seu SqlDataSource. De uma olhada neste artigo: http://www.codeproject.com/KB/aspnet/InsertSqlDataSource.aspx Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Gs3llmann 0 Denunciar post Postado Julho 29, 2009 Hum... eu ainda to fazendo alguma coisa errada! pode de ajudar novamente? <%@ Page Language="C#"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"> private void inserir (object source, EventArgs e){ SqlDataSource.Insert(); } protected void Page_Load(object sender, EventArgs e){ } protected void BTNInserirDados_Click(object sender, EventArgs e) { if (e.commandName == "BTNENVIAR") {string strjulio = e.commandargument.tostring(); DataControlFieldCell controlparent = (DataControlFieldCell)((button) sender).Parent; SqlDataSource s =(SqlDataSource).cell.findcontrol("sqldatasource"); s.InsertParameters[0].DefaultValue = strjulio; s.Insert(); } </script> <html> <head id="Head1" runat="server"> <title>Inserindo dados com SQL</title> </head> <body> <form id="form1" runat="server"> <div> <asp:SqlDataSource ID="SqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:infratelecomConnectionString %>" SelectCommand="SELECT [nome], [sobrenome], [email] FROM [Telefonia]" DeleteCommand="DELETE FROM [Telefonia] WHERE [nome] = @nome" InsertCommand="INSERT INTO [Telefonia] ([nome], [sobrenome], [email]) VALUES (@nome, @sobrenome, @email)" UpdateCommand="UPDATE [Telefonia] SET [sobrenome] = @sobrenome, [email] = @email WHERE [nome] = @nome"> <DeleteParameters> <asp:Parameter Name="nome" Type="String" /> </DeleteParameters> <UpdateParameters> <asp:Parameter Name="sobrenome" Type="String" /> <asp:Parameter Name="email" Type="String" /> <asp:Parameter Name="nome" Type="String" /> </UpdateParameters> <InsertParameters> <asp:Parameter Name="nome" Type="String" /> <asp:Parameter Name="sobrenome" Type="String" /> <asp:Parameter Name="email" Type="String" /> </InsertParameters> </asp:SqlDataSource> <br /> <asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource" DataTextField="nome" DataValueField="sobrenome" Height="20px" Width="167px"> </asp:DropDownList> <br /> <asp:Label ID="Label1" runat="server" Text="Nome: "></asp:Label> <br /> <asp:TextBox ID="Nome" runat="server"> </asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="Nome" ErrorMessage="Digite seu nome!"> </asp:RequiredFieldValidator> <br /> <asp:Label ID="Label2" runat="server" Text="Sobre Nome:"></asp:Label> <br /> <asp:TextBox ID="sobrenome" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="sobrenome" ErrorMessage="Digite seu sobre nome!"> </asp:RequiredFieldValidator> <br /> <asp:Label ID="Label3" runat="server" Text="E-mail:"></asp:Label> <br /> <asp:TextBox ID="email" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="email" ErrorMessage="Digite seu e-mail!"></asp:RequiredFieldValidator> <br /> <br /> <asp:Button ID="BTNInserirDados" runat="server" CommandName="BTNENVIAR" style="z-index: 1; left: 10px; top: 241px; position: absolute" Text="Enviar Dados" onclick="BTNInserirDados_Click" /> </div> </form> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
Gs3llmann 0 Denunciar post Postado Julho 29, 2009 Quintelab, Consegui fazer funcionar com o artigo que você mencionou e com ajuda de outro SqlDataSource.InsertCommand Notei outros pontos que não tinha visto, tipo: FORMFIELD dentro do INSERTPARAMETERS e o INSERT INTO como você havia mencionado. Agora vou fazer outra pergunta, como que eu faço pra colocar uma página de validação, sendo que quando o cara termina de preencher o form retorna uma mensagem de Ok? Vou procurando na net mas se tiver algo fácil... Mais uma vez obrigado. Compartilhar este post Link para o post Compartilhar em outros sites