Página: Cadastro
#1
Posted 07/08/2004, 17:08
#2
Posted 07/08/2004, 20:31
poderia postar seu código para que nós possamos analisar?
Espero resposta...abs,
Leonardo Hickstein
Hickstein Lab
#3
Posted 07/08/2004, 21:00
Bom ... o codigo eh o seguinte:Olá Adolfo,
poderia postar seu código para que nós possamos analisar?
Espero resposta...abs,
Leonardo Hickstein
Hickstein Lab
<%@ Page Language="C#" Debug="true" %>
<%@ Register TagPrefix="wmx" Namespace="Microsoft.Matrix.Framework.Web.UI" Assembly="Microsoft.Matrix.Framework, Version=0.6.0.0, Culture=neutral, PublicKeyToken=6f763c9966660626" %>
<script runat="server">
// Insert page code here
//
void cadclear_Click(object sender, EventArgs e) {
nome.Text=null;
email.Text=null;
login.Text=null;
senha.Text=null;
}
void cadok_Click(object sender, EventArgs e) {
string Nome = this.nome.Text;
string Email = this.email.Text;
string Login = this.login.Text;
string Senha = this.senha.Text;
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=C:\\Adolfo\\Progr" +
"amação WEB\\bduser.mdb";
System.Data.IDbConnection dbConnection = new System.Data.OleDb.OleDbConnection(connectionString);
string queryString = "INSERT INTO [cad1] ([Nome], [E-mail], [Login], [Senha]) VALUES (Nome, Email, Logi" +
"n, Senha)";
System.Data.IDbCommand dbCommand = new System.Data.OleDb.OleDbCommand();
dbCommand.CommandText = queryString;
dbCommand.Connection = dbConnection;
int rowsAffected = 0;
dbConnection.Open();
try {
rowsAffected = dbCommand.ExecuteNonQuery();
}
finally {
dbConnection.Close();
}
return rowsAffected;
}
</script>
<html>
<head>
<title>CADASTRO DE USUÁRIOS - VERSÃO 1.0</title>
</head>
<body>
<form runat="server">
<p align="center">
<strong><font face="Verdana" color="#0000a0">CADASTRO DE USUÁRIOS</font></strong>
</p>
<p align="center">
<strong><em><font face="Verdana" color="black" size="1">Preencha os campos abaixos
e clique em enviar para se cadastrar na área restrita do nosso site.</font></em></strong>
</p>
<p align="center">
<strong><em><font face="Verdana" size="1">Esta é maneira mais segura de você ter acesso
a todas as áreas do nosso site.</font></em></strong>
</p>
<p align="center">
<strong><em><font face="Verdana" size="1"></font></em></strong>
</p>
<strong><font face="Verdana" size="2">
<p align="left">
<asp:Label id="Label1" runat="server">Nome:</asp:Label>
<asp:TextBox id="nome" runat="server" Width="301px"></asp:TextBox>
</p>
<p align="left">
<asp:Label id="Label2" runat="server">E-mail:</asp:Label>
<asp:TextBox id="email" runat="server" Width="223px"></asp:TextBox>
</p>
<p align="left">
<asp:Label id="Label3" runat="server">Login:</asp:Label>
<asp:TextBox id="login" runat="server" Width="155px"></asp:TextBox>
<em><font size="1">(max: 20 caracteres)</font></em>
</p>
<p align="left">
<asp:Label id="Label4" runat="server">Senha:</asp:Label>
<asp:TextBox id="senha" runat="server" Width="149px"></asp:TextBox>
<em><font size="1">(max: 8 caracteres)</font></em>
</p>
<p align="left" runat="server">
<asp:Button id="cadok" onclick="cadok_Click" runat="server" Text="Cadastrar"></asp:Button>
<asp:Button id="cadclear" onclick="cadclear_Click" runat="server" Text="Limpar"></asp:Button>
</p>
<p align="left" runat="server">
</p>
<p align="right" runat="server">
<asp:Label id="Label5" style="Z-INDEX: 100; LEFT: 472px; POSITION: absolute; TOP: 361px" runat="server" font-size="XX-Small" font-names="Verdana" font-bold="True" font-italic="True">by
Adolfo Guimarães</asp:Label>
</p>
<p align="left">
</p>
</font></strong>
<!-- Insert content here -->
</form>
</body>
</html>
ABAIXO ESTÁ O ERRO APÓS COMPILAR:
Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: CS0127: Since 'ASP.cadastro_aspx.cadok_Click(object, System.EventArgs)' returns void, a return keyword must not be followed by an object expression
Source Error:
Line 39: }
Line 40:
Line 41: return rowsAffected;
Line 42:
Line 43:
bom espero que possa me ajudar ... desde já grato pela resposta.
Adolfo
#4
Posted 08/08/2004, 13:34
Pelo erro que estou vendo, o que acontece, é que você está tentando retornar um valor...como se fosse uma função, mas não é...
Não se esqueça, q uma rotina (void) não retorna nenhum valor...
O que você poderia fazer é realizar um if com essa variavel, do tipo, se essa variável é >= 0, then....
OBS: O que retornaria um valor seria uma função, ex:
private int CadastraUsuario
{
// executa algum código
return rowsAffected;
}
Espero ter ajudado..abs,
Leonardo Hickstein
Hickstein Lab
#5
Posted 11/08/2004, 16:10
Olá hicksteinlab,Olá Adolfo,
Pelo erro que estou vendo, o que acontece, é que você está tentando retornar um valor...como se fosse uma função, mas não é...
Não se esqueça, q uma rotina (void) não retorna nenhum valor...
O que você poderia fazer é realizar um if com essa variavel, do tipo, se essa variável é >= 0, then....
OBS: O que retornaria um valor seria uma função, ex:private int CadastraUsuario
{
// executa algum código
return rowsAffected;
}
Espero ter ajudado..abs,
Leonardo Hickstein
Hickstein Lab
não to conseguindo elaborar os códigos .. como sou iniciante nessa área não to conseguindo entender o q você propos ... será que você tinha algum script de exemplo ou um tutorial que pudesse auxiliar ... desde já agradeço pela resposta e pela atenção em resolver esse problema.
Obrigado e abraços
Adolfo
#6
Posted 11/08/2004, 18:54
já que pediu, lá vai um exemplo:
<%@ Page Language="C#" Debug="true" %> <%@ Register TagPrefix="wmx" Namespace="Microsoft.Matrix.Framework.Web.UI" Assembly="Microsoft.Matrix.Framework, Version=0.6.0.0, Culture=neutral, PublicKeyToken=6f763c9966660626" %> <%@ import Namespace="System.Data" %> <%@ import Namespace="System.Data.OleDb" %> <script runat="server"> void btnLimparCampos_Click(object sender, EventArgs e) { tbNome.Text = tbEmail.Text = tbLogin.Text = tbSenha.Text = ""; } void btnCadastrarUsuario_Click(object sender, EventArgs e) { // Recupera os valores entrados pelo usuário string s_Nome = this.tbNome.Text; string s_Email = this.tbEmail.Text; string s_Login = this.tbLogin.Text; string s_Senha = this.tbSenha.Text; // Cria a string de conexão string s_Conexao = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("Teste.mdb"); // Cria um objeto de conexão e como parâmetro a string de conexão OleDbConnection o_Conn = new OleDbConnection(s_Conexao); // Cria a string de sql string s_SQL = "INSERT INTO Cadastros (Nome, Email, Login, Senha) " + "VALUES ('" + s_Nome + "', '" + s_Email + "', '" + s_Login + "', '" + s_Senha + "')"; // Cria um objeto para executar comandos contra o banco, // tal como inserir valores, com 2 parâmetros // 1º: a string de SQL // 2º: o objeto para conexão OleDbCommand o_Cmd = new OleDbCommand(s_SQL, o_Conn); try { o_Conn.Open(); o_Cmd.ExecuteNonQuery(); // Limpa os campos tbNome.Text = tbEmail.Text = tbLogin.Text = tbSenha.Text = ""; // Exibe uma mensagem de sucesso Response.Write("Cadastro efetuado com sucesso!"); } catch (OleDbException _Erro) { Response.Write("O seguinte erro foi constatado ao tentar inserir um registro junto ao banco!" + _Erro.Message + "<br />"); } finally { if (o_Conn != null) { o_Conn.Close(); } } } </script> <html> <head> <title>CADASTRO DE USUÁRIOS - VERSÃO 1.0</title> </head> <body> <form runat="server"> <table cellspacing="0" cellpadding="0" width="50%" align="center" border="0"> <tbody> <tr> <td colspan="2"> <h1>Cadastro de Usuários: </h1> <hr /> </td> </tr> <tr> <td width="30%"> Nome:</td> <td width="70%"> <asp:TextBox id="tbNome" runat="server" width="100%"></asp:TextBox> </td> </tr> <tr> <td width="30%"> Email:</td> <td width="70%"> <asp:TextBox id="tbEmail" runat="server" width="100%"></asp:TextBox> </td> </tr> <tr> <td width="30%"> Login:</td> <td width="70%"> <asp:TextBox id="tbLogin" runat="server" width="100%"></asp:TextBox> </td> </tr> <tr> <td width="30%"> Senha:</td> <td width="70%"> <asp:TextBox id="tbSenha" runat="server" width="100%" TextMode="Password"></asp:TextBox> </td> </tr> <tr><td colspan="2"><hr /></td></tr> <tr> <td align="right"> <asp:Button id="btnLimparCampos" onclick="btnLimparCampos_Click" runat="server" Text="Limpar Campos"></asp:Button> </td> <td align="left"> <asp:Button id="btnCadastrarUsuario" onclick="btnCadastrarUsuario_Click" runat="server" Text="Cadastrar Usuário"></asp:Button> </td> </tr> </tbody> </table> </form> </body> </html>
Espero ter ajudado...abs,
Leonardo Hickstein
Hickstein Lab
#7
Posted 12/08/2004, 00:57
Olá hicksteinlab,Olá Adolfo,
já que pediu, lá vai um exemplo:<%@ Page Language="C#" Debug="true" %> <%@ Register TagPrefix="wmx" Namespace="Microsoft.Matrix.Framework.Web.UI" Assembly="Microsoft.Matrix.Framework, Version=0.6.0.0, Culture=neutral, PublicKeyToken=6f763c9966660626" %> <%@ import Namespace="System.Data" %> <%@ import Namespace="System.Data.OleDb" %> <script runat="server"> void btnLimparCampos_Click(object sender, EventArgs e) { tbNome.Text = tbEmail.Text = tbLogin.Text = tbSenha.Text = ""; } void btnCadastrarUsuario_Click(object sender, EventArgs e) { // Recupera os valores entrados pelo usuário string s_Nome = this.tbNome.Text; string s_Email = this.tbEmail.Text; string s_Login = this.tbLogin.Text; string s_Senha = this.tbSenha.Text; // Cria a string de conexão string s_Conexao = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("Teste.mdb"); // Cria um objeto de conexão e como parâmetro a string de conexão OleDbConnection o_Conn = new OleDbConnection(s_Conexao); // Cria a string de sql string s_SQL = "INSERT INTO Cadastros (Nome, Email, Login, Senha) " + "VALUES ('" + s_Nome + "', '" + s_Email + "', '" + s_Login + "', '" + s_Senha + "')"; // Cria um objeto para executar comandos contra o banco, // tal como inserir valores, com 2 parâmetros // 1º: a string de SQL // 2º: o objeto para conexão OleDbCommand o_Cmd = new OleDbCommand(s_SQL, o_Conn); try { o_Conn.Open(); o_Cmd.ExecuteNonQuery(); // Limpa os campos tbNome.Text = tbEmail.Text = tbLogin.Text = tbSenha.Text = ""; // Exibe uma mensagem de sucesso Response.Write("Cadastro efetuado com sucesso!"); } catch (OleDbException _Erro) { Response.Write("O seguinte erro foi constatado ao tentar inserir um registro junto ao banco!" + _Erro.Message + "<br />"); } finally { if (o_Conn != null) { o_Conn.Close(); } } } </script> <html> <head> <title>CADASTRO DE USUÁRIOS - VERSÃO 1.0</title> </head> <body> <form runat="server"> <table cellspacing="0" cellpadding="0" width="50%" align="center" border="0"> <tbody> <tr> <td colspan="2"> <h1>Cadastro de Usuários: </h1> <hr /> </td> </tr> <tr> <td width="30%"> Nome:</td> <td width="70%"> <asp:TextBox id="tbNome" runat="server" width="100%"></asp:TextBox> </td> </tr> <tr> <td width="30%"> Email:</td> <td width="70%"> <asp:TextBox id="tbEmail" runat="server" width="100%"></asp:TextBox> </td> </tr> <tr> <td width="30%"> Login:</td> <td width="70%"> <asp:TextBox id="tbLogin" runat="server" width="100%"></asp:TextBox> </td> </tr> <tr> <td width="30%"> Senha:</td> <td width="70%"> <asp:TextBox id="tbSenha" runat="server" width="100%" TextMode="Password"></asp:TextBox> </td> </tr> <tr><td colspan="2"><hr /></td></tr> <tr> <td align="right"> <asp:Button id="btnLimparCampos" onclick="btnLimparCampos_Click" runat="server" Text="Limpar Campos"></asp:Button> </td> <td align="left"> <asp:Button id="btnCadastrarUsuario" onclick="btnCadastrarUsuario_Click" runat="server" Text="Cadastrar Usuário"></asp:Button> </td> </tr> </tbody> </table> </form> </body> </html>
Espero ter ajudado...abs,
Leonardo Hickstein
Hickstein Lab
Muito obrigado ... o código funcionou .. precisei só alterar umas coisas na instrução SQL ... ela ficou:
string s_SQL = "INSERT INTO [cad1] ([Nome], [E-mail], [Login], [Senha]) " + "VALUES ('" + s_Nome + "', '" + s_Email + "', '" + s_Login + "', '" + s_Senha + "')";
ou seja tive que acrescentar o "[" "]" antes e depois do nome da tabela e dos seus campos. .. no mais o código rodou normal. Desde já fico grato pela atenção e vou aperfeiçoar o sistema através desse código ...
espero estarmos em breve discutindo outro assunto ... Valeus abraços e inté mais.
#8
Posted 12/08/2004, 11:20
esse comandos só rodam com o webmatrix?! eh que quanto tentei colocá-los no Visual Studio .NET 2003 dava erro na hora de rodar a página.
Obrigado
Abraços
Adolfo
#9
Posted 12/08/2004, 11:46
eu fiz ele p/ você usar ele no WebMatrix, com certeza se vc copiar e colar p/ dentro do VS.NET ele não vai funcionar, porém se nos formos passo a passo, tu me indicando os erros q aparece eu possa te ajudar....
Abraços,
Leonardo Hickstein
Hickstein Lab
#10
Posted 13/08/2004, 02:51
Olá hicksteinlab,Olá Adolfo,
eu fiz ele p/ você usar ele no WebMatrix, com certeza se vc copiar e colar p/ dentro do VS.NET ele não vai funcionar, porém se nos formos passo a passo, tu me indicando os erros q aparece eu possa te ajudar....
Abraços,
Leonardo Hickstein
Hickstein Lab
quando vou rodar aquele código no Visul Studio .NET ele apresenta um erro de compilação e grifa algumas partes do código com um sublinhado azul. É como se ele não reconhecesse os seguintes trechos do código:
// Recupera os valores entrados pelo usuário
string s_Nome = this.nome.Text;
string s_Email = this.email.Text;
string s_Login = this.login.Text;
string s_Senha = this.senha.Text;
// Cria a string de conexão
sring s_Conexao = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("bduser.mdb");
// Cria um objeto de conexão e como parâmetro a string de conexão
OleDbConnection o_Conn = new OleDbConnection(s_Conexao);
// Cria a string de sql
string s_SQL = "INSERT INTO [cad1] ([Nome], [E-mail], [Login], [Senha]) " +
"VALUES ('" + s_Nome + "', '" + s_Email + "', '" + s_Login + "', '" + s_Senha + "')";
// Cria um objeto para executar comandos contra o banco,
// tal como inserir valores, com 2 parâmetros
// 1º: a string de SQL
// 2º: o objeto para conexão
OleDbCommand o_Cmd = new OleDbCommand(s_SQL, o_Conn);
try
{
o_Conn .Open();
o_Cmd .ExecuteNonQuery();
// Limpa os campos
nome.Text = email.Text = login.Text = senha.Text = "";
// Exibe uma mensagem de sucesso
Label6.Text="Cadastro efetuado com sucesso";
}
catch (OleDbException _Erro)
{
Response.Write("O seguinte erro foi constatado ao tentar inserir um registro junto ao banco!" +_Erro .Message + "<br />");
}
finally
{
if (o_Conn != null)
{
o_Conn .Close();
}
}
os trechos que acho q ele não está aceitando são os que estão em NEGRITO
Bom ... isso é o que está acontecendo ... agradeço pela atenção e se possível espero resposta ... Obrigado!!!
Adolfo
Edição feita por: adolfoshaman, 13/08/2004, 02:53.
#11
Posted 13/08/2004, 12:37
no VS.NET as coisas mudam um pouquinho...
-> o HTML fica separado do código C#;
-> o HTML fica na .aspx e o C# fica na .aspx.cs;
-> seria bom, se você lêsse algo, sobre como as coisas funcionam em VS.NET;
-> eu até poderia te explicar, mas a conversa seria imensamente longa...então leia algo, e ai sim, te ajudarei no que precisares, ok?
Espero ter ajudado...abs,
Leonardo Hickstein
Hickstein Lab
Edição feita por: hicksteinlab, 14/08/2004, 18:53.
#12
Posted 14/08/2004, 19:32
Oi hicksteinlab,Olá Adolfo,
no VS.NET as coisas mudam um pouquinho...
-> o HTML fica separado do código C#;
-> o HTML fica na .aspx e o C# fica na .aspx.cs;
-> seria bom, se você lêsse algo, sobre como as coisas funcionam em VS.NET;
-> eu até poderia te explicar, mas a conversa seria imensamente longa...então leia algo, e ai sim, te ajudarei no que precisares, ok?
Espero ter ajudado...abs,
Leonardo Hickstein
Hickstein Lab
brigadaum pela ajuda ... vou da uma procurada e ler um pouco mais sobre VS .NET e aí quando as dúvidas forem aparecendo posto aqui atrás de ajuda.
Obrigado ... abraços e até a próxima postagem
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)