Pijama® 0 Denunciar post Postado Agosto 22, 2008 Gente, será que alguem já passou por isso???? é um Script simples mas não to conseguindo, alguem ai sabe o que fazer??? Primeiro bloco - codigo do BD Segundo Bloco - Codigo Pagina Terceiro Bloco - Erro do compilador =============================================================================== Partial Class _Default Inherits System.Web.UI.Page Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click End Sub Function MyInsertMethod() As Integer Dim connectionString As String = "server='(local)'; user id='sa'; password='12345'; database='joaobarro'" Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionString) Dim queryString As String = "INSERT INTO [TESTE] ([NOME], [CPF]) VALUES ('"<%=Request.Form("Nome")%>"','"<%=Request.Form("cpf")%>"') Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand dbCommand.CommandText = queryString dbCommand.Connection = dbConnection Dim rowsAffected As Integer = 0 dbConnection.Open() Try rowsAffected = dbCommand.ExecuteNonQuery Finally dbConnection.Close() End Try Return rowsAffected End Function End Class=============================================================================== <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <input name="Nome" type="text" /> <input name="cpf" type="text" /> <asp:Button ID="Button1" runat="server" Text="Button" /></div> </form> </body> </html> ============================================================================= Erro de Compilação Descrição: Erro ao compilar um recurso necessário para atender esta solicitação. Examine os detalhes específicos do erro e modifique o código fonte apropriadamente. Mensagem de Erro do Compilador: BC30037: Caractere inválido. Erro de Origem: Linha 10: Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionString) Linha 11: Linha 12: Dim queryString As String = "INSERT INTO [TESTE] ([NOME], [CPF]) VALUES ('"<%=Request.Form("Nome")%>"','"<%=Request.Form("cpf")%>"') Linha 13: Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand Linha 14: dbCommand.CommandText = queryString ============================================================================== Se alguem puder ajudar eu agradeço. Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
sublyer 0 Denunciar post Postado Agosto 22, 2008 Olá, este código é do code-behind correto? Se estiver no code-behind não tem necessidade de estar pegando do request.form (que é um conceito muito usado no ASP 3.0), no .NET você pode chamar diretamente o controle adicionado na página, entenda controle como sendo um text box, label entre outros da plataforma. Tente asim. Dim queryString As String = "INSERT INTO TESTE (NOME, CPF) VALUES ('" & Me.Nome.Text &"','"& Me.Nome.cpf &"') Flwww Compartilhar este post Link para o post Compartilhar em outros sites
Pijama® 0 Denunciar post Postado Agosto 22, 2008 Cara Vlw pela resposta, mas esta dando o seguinte erro, pois nunca tinha visto isto antes BC30456: 'Nome' não é membro de '_Default'. Compartilhar este post Link para o post Compartilhar em outros sites
sublyer 0 Denunciar post Postado Agosto 22, 2008 Coloca o código inteiro da página e do code-behind da página aqui pra gente. Flww Compartilhar este post Link para o post Compartilhar em outros sites
Pijama® 0 Denunciar post Postado Agosto 22, 2008 Agradeço de coração pela atenção de vcs, ai vai o código conforme solicitado []´s Partial Class _Default Inherits System.Web.UI.Page Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click End Sub Function MyInsertMethod() As Integer Dim connectionString As String = "server='(local)'; user id='sa'; password='12345'; database='joaobarro'" Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionString) nome.Value = Me.nome.Text Dim queryString As String = "INSERT INTO [TESTE] ([NOME], [CPF]) VALUES ('" & Me.Nome.Text & "','" & Me.cpf.text & "')" Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand dbCommand.CommandText = queryString dbCommand.Connection = dbConnection Dim rowsAffected As Integer = 0 dbConnection.Open() Return rowsAffected End Function End Class==================================================================== <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %> <%@ Import Namespace="System.Data" %> <%@ Import NameSpace="System.Data.OleDb" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <input name="Nome" type="text" /> <input name="cpf" type="text" /> <asp:Button ID="Button1" runat="server" Text="Button" /></div> </form> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Agosto 22, 2008 Movido Plataforma .NET http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET » Web Applications O problema é que você esta usando HTML Controls ao invés de Server Controls, repare que seu TextBox esta com a Tag input o correto pro seu caso deveria ser como seu botão com a tag asp. Não é possível acessar propriedades de controles HTML de forma programática, a não ser que defina a propriedade runat como server. Altere seu HTML para: <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %> <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.OleDb" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//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>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="Nome" runat="server"></asp:TextBox> <asp:TextBox ID="cpf" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" Text="Button" /></div> </form> </body> </html> E seu código VB para: Partial Class _Default Inherits System.Web.UI.Page Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click End Sub Function MyInsertMethod() As Integer Dim connectionString As String = "server='(local)'; user id='sa'; password='12345'; database='joaobarro'" Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionString) Dim queryString As String = "INSERT INTO [TESTE] ([NOME], [CPF]) VALUES ('" & Me.Nome.Text & "','" & Me.cpf.Text & "')" Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand dbCommand.CommandText = queryString dbCommand.Connection = dbConnection Dim rowsAffected As Integer = 0 dbConnection.Open() Return rowsAffected End Function End Class Espero que tenha entendido. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Pijama® 0 Denunciar post Postado Agosto 22, 2008 Quintelab obrigado pela resposta, mas mesmo com essa alteração ainda não alimenta o BD, agora as informações ficam na tela mesmo depois de apertar o botão Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Agosto 22, 2008 Cara mas repara que o seu evento do botão esta em branco, você tem que chamar a função quando clicar no botão. Eu apenas corrigi o erro!! Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Pijama® 0 Denunciar post Postado Agosto 22, 2008 Vlw novamente, mas voce poderia me dar um exemplo, pois nunca fiz esse tipo de coisa, é tudo novo pra mim, como por exemplo estar usando Request.Form que fiquei sabendo que é mais velho que minha avó, lololololol, estou a muito tempo sem programar, e agora é tudo novo, muita coisa mudou... se puder ajudar agradeço Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Agosto 22, 2008 Deixe seu código VB da seguinte forma: Partial Class _Default Inherits System.Web.UI.Page Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click MyInsertMethod() End Sub Function MyInsertMethod() As Integer Dim connectionString As String = "server='(local)'; user id='sa'; password='12345'; database='joaobarro'" Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionString) Dim queryString As String = "INSERT INTO [TESTE] ([NOME], [CPF]) VALUES ('" & Me.Nome.Text & "','" & Me.cpf.Text & "')" Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand dbCommand.CommandText = queryString dbCommand.Connection = dbConnection Dim rowsAffected As Integer = 0 dbConnection.Open() Return rowsAffected End Function End Class Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Pijama® 0 Denunciar post Postado Agosto 22, 2008 Olha amigão, você deve ta achando que estou zombando de você, mas infelizmente não deu certo, o bd não tá sendo alimentado..... mesmo após essa alteração que você falou pra eu fazer.... Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Agosto 22, 2008 Eu não reparei na sua função, para ver se ela estava certa, pensei que ela funcionasse, mas olhando agora reparei que em nenhum monento você executa o comando ExecuteNonQuery, fiz no olhometro aqui, mas acho que se sua insert estiver ok irá funcionar. Partial Class _Default Inherits System.Web.UI.Page Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click MyInsertMethod() End Sub Function MyInsertMethod() As Integer Dim connectionString As String = "server='(local)'; user id='sa'; password='12345'; database='joaobarro'" Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionString) Dim queryString As String = "INSERT INTO [TESTE] ([NOME], [CPF]) VALUES ('" & Me.Nome.Text & "','" & Me.cpf.Text & "')" Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand dbCommand.CommandText = queryString dbCommand.Connection = dbConnection Dim rowsAffected As Integer = 0 dbConnection.Open() rowsAffected = dbCommand.ExecuteNonQuery() dbConnection.Close() Return rowsAffected End Function End Class De uma pesquisada sobre acesso a banco de dados. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Pijama® 0 Denunciar post Postado Agosto 22, 2008 Cara, Deus lha abençoe, agora funcionou perfeitamente, muito obrigado pela atenção, e desculpe o incomodo agora eu descubro como limpar os campos depois que apertar o botão Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Agosto 22, 2008 Hoje to bonzinho, Partial Class _Default Inherits System.Web.UI.Page Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click MyInsertMethod() LimparCampos(form1) End Sub Function MyInsertMethod() As Integer Dim connectionString As String = "server='(local)'; user id='sa'; password='12345'; database='joaobarro'" Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionString) Dim queryString As String = "INSERT INTO [TESTE] ([NOME], [CPF]) VALUES ('" & Me.Nome.Text & "','" & Me.cpf.Text & "')" Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand dbCommand.CommandText = queryString dbCommand.Connection = dbConnection Dim rowsAffected As Integer = 0 dbConnection.Open() rowsAffected = dbCommand.ExecuteNonQuery() dbConnection.Close() Return rowsAffected End Function Public Shared Sub LimparCampos(ByVal controlPai As Control) For Each ctl As Control In controlPai.Controls If TypeOf (ctl) Is TextBox Then 'TextBox DirectCast(ctl, TextBox).Text = String.Empty ElseIf TypeOf (ctl) Is CheckBox Then 'CheckBox DirectCast(ctl, CheckBox).Checked = False ElseIf TypeOf (ctl) Is DropDownList Then 'DropDownList DirectCast(ctl, DropDownList).Text = "" ElseIf TypeOf (ctl) Is DataGrid Then 'Datagrid DirectCast(ctl, DataGrid).DataSource = Nothing ElseIf ctl.Controls.Count > 0 Then LimparCampos(ctl) End If Next End Sub End Class Abraços... Compartilhar este post Link para o post Compartilhar em outros sites