Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pijama®

guem sabe o que pode estar acontecendo com esse script?

Recommended Posts

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

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

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

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

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

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

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

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.