curso pr-tico de ms visual studio[1] net 2005
330 pág.

curso pr-tico de ms visual studio[1] net 2005

Disciplina:Tecnologias Web2.420 materiais7.000 seguidores
Pré-visualização35 páginas
e em sala de aula.
http://www.mauriciojunior.org

Inserindo Usuário no Banco de Dados MYSQL Usando Tecnologia

AJAX

Demonstrarei como inserir um usuário no banco de dados sem realizar o

postback ou refresh na página. É uma continuação do Ajax anterior.

Referência: 1-1

O primeiro de tudo é criar uma tabela no banco de dados MYSQL com o

nome tb_usuario e com os seguintes campos:

TB_USUARIO

ch_usuario int(3) auto_increment

no_usuario varchar(200)

pw_usuario varchar(255)

email_usuario varchar(255)

Curso Prático Visual Studio.NET 2005

Este material não pode ser usado em treinamentos e em sala de aula.
http://www.mauriciojunior.org

Depois da estrutura do banco de dados criada, irei inserir um método

dentro da classe Usuario.cs chamado

insereUsuario(nome,senha,email).

/// <summary>

///

/// </summary>

/// <param name="nome"></param>

/// <param name="senha"></param>

/// <param name="email"></param>

/// <returns></returns>

[Ajax.AjaxMethod()]

public Boolean insereUsuario(string nome, string senha, string email)

{

 try

 {

 sBanco.Conecta();

 Criptografia sCript = new Criptografia();

 string sql = "insert into tb_usuario

(no_usuario,pw_usuario,email_usuario) values ";

 sql += " ('" + nome + "','" + sCript.encrypt(senha) + "','" +

email + "')";

OdbcCommand sqlc = new OdbcCommand(sql,sBanco.sConn);

 sqlc.ExecuteNonQuery();

 return true;

 }

 catch(Exception e)

 {

 throw new Exception(e.StackTrace);

 }

 finally

 {

Curso Prático Visual Studio.NET 2005

Este material não pode ser usado em treinamentos e em sala de aula.
http://www.mauriciojunior.org

 sBanco.Desconecta();

 }

}

Anterior, criei a classe acessoBanco.cs com os métodos para abrir o banco

de dados e fechar o banco de dados, ou seja, a conexão com o banco de

dados. Estou usando a mesma classe e o mesmo método, o mesmo está

com a cor vermelha acima. A string sql apenas pega os dados passados e

insere no banco de dados automaticamente abrindo a conexão e fechando

logo depois. Se for inserido corretamente o método retornará true, se der

algum erro retornará false.

Referência: 1-2

Dentro do método insereUsuario, estou utilizando a classe Criptografia.cs e

o método encrypt passando a string senha.

Abaixo segue todo o código da classe Criptografia.cs:

Curso Prático Visual Studio.NET 2005

Este material não pode ser usado em treinamentos e em sala de aula.
http://www.mauriciojunior.org

using System;

using System.Security.Cryptography;

namespace AjaxTeste

{

 /// <summary>

 /// Summary description for criptografia.

 /// </summary>

 public class Criptografia

 {

 //variaveis para criptografia

 Byte[] IV = new byte[] {0x0012, 0x0034, 0x0056, 0x0078,

0x0090, 0x00AB, 0x00CD, 0x00EF, 0x0013, 0x0045, 0x0099, 0x00AA,

0x0012, 0x0056, 0x0012, 0x0009};

 Byte[] key =

System.Text.Encoding.UTF8.GetBytes("aaaaaa32");

 /// <summary>

 /// metodo que encriptografa os dados de acordo com a minha

variavel

 /// acima e os valores passos

 /// ex.: encrypt("valor")

 /// </summary>

 /// <param name="strValor"></param>

 /// <returns>string</returns>

 public string encrypt(string strValor)

 {

 try

 {

 DESCryptoServiceProvider des = new

DESCryptoServiceProvider();

 Byte[] inputByteArray =

System.Text.Encoding.UTF8.GetBytes(strValor);

Curso Prático Visual Studio.NET 2005

Este material não pode ser usado em treinamentos e em sala de aula.
http://www.mauriciojunior.org

 System.IO.MemoryStream ms = new

System.IO.MemoryStream();

 CryptoStream cs = new CryptoStream(ms,

des.CreateEncryptor(key, IV), CryptoStreamMode.Write);

 cs.Write(inputByteArray, 0,

inputByteArray.Length);

 cs.FlushFinalBlock();

 return Convert.ToBase64String(ms.ToArray());

 }

 catch (System.Exception ex)

 {

 return ex.Message;

 }

 }

 /// <summary>

 /// metodo que descriptografa os dados de acordo com os

valores passos

 /// e as variaveis acima

 /// ex.: decrypt("valor_criptografado")

 /// </summary>

 /// <param name="strValor"></param>

 /// <returns>string</returns>

 public string decrypt(string strValor)

 {

 Byte[] inputByteArray = new byte[strValor.Length];

 try

 {

 DESCryptoServiceProvider des = new

DESCryptoServiceProvider();

 inputByteArray =

Convert.FromBase64String(strValor);

 System.IO.MemoryStream ms = new

System.IO.MemoryStream();

Curso Prático Visual Studio.NET 2005

Este material não pode ser usado em treinamentos e em sala de aula.
http://www.mauriciojunior.org

 CryptoStream cs = new CryptoStream(ms,

des.CreateDecryptor(key, IV), CryptoStreamMode.Write);

 cs.Write(inputByteArray, 0,

inputByteArray.Length);

 cs.FlushFinalBlock();

 System.Text.Encoding encoding =

System.Text.Encoding.UTF8;

 return encoding.GetString(ms.ToArray());

 }

 catch (System.Exception ex)

 {

 return ex.Message;

 }

 }

 }

}

Passando agora para a parte HTML, mais especificamente a página

WebForm1.aspx coloquei o código seguinte:

<form id="Form1" method="post" runat="server">

Nome: <asp:TextBox ID="txtNome"

Runat="server"></asp:TextBox><br>

Senha:<asp:TextBox ID="txtSenha" TextMode=Password

Runat="server"></asp:TextBox><br>

E-mail<asp:TextBox ID="txtEmail"

Runat="server"></asp:TextBox><br>

<button onclick="InsereUsuario()" type="button">Insere

Usuário</button>

<br><br>

Curso Prático Visual Studio.NET 2005

Este material não pode ser usado em treinamentos e em sala de aula.
http://www.mauriciojunior.org

<div id="divResposta"></div>

</form>

Veja que tenho os objetos na tela como nome, senha, email e um botão

Insere Usuário. Preste atenção que, o meu botão executa um script em

javascript chamado InsereUsuario(). Veja o código abaixo:

<script language="javascript">

 function InsereUsuario(){

 var nome = document.Form1.txtNome.value;

 var senha =

document.Form1.txtSenha.value;

 var email = document.Form1.txtEmail.value;

 Usuario.insereUsuario(nome,senha,email,InsereUsuario_CallB

ack);

 }

function InsereUsuario_CallBack(response){

 var retorno = response.value;

 if (retorno){

 document.all('divResposta').innerHTML =

"Inserido com sucesso !!";

 }else{

 document.all('divResposta').innerHTML =

"Erro ao inserir usuario !!";

 }

 }

</script>

Depois de todo código inserido no HTML do webform1.aspx, só inicie o seu

projeto com o banco de dados iniciado.

Curso Prático Visual Studio.NET 2005

Este material não pode ser usado em treinamentos e em sala de aula.
http://www.mauriciojunior.org

Referência: 1-3

Digite valores nos campos e clicar no botão para inserir.

Veja que o mesmo irá inserir no banco de dados sem mesmo dar um

refresh na página ou falando diretamente com os desenvolvedores .net, um

postback.

Curso Prático Visual Studio.NET 2005

Este material não pode ser usado em treinamentos e em sala de aula.
http://www.mauriciojunior.org

Referência: 1-4

Referência: 1-5

Curso Prático Visual Studio.NET 2005

Este material não pode ser usado em treinamentos e em sala de aula.
http://www.mauriciojunior.org

Veja no banco de dados que o mesmo foi inserido com sucesso.

Referência: 1-6

Espero que tenha ajudado a todos.

Curso Prático Visual Studio.NET 2005

Este material não pode ser usado em treinamentos e em sala de aula.
http://www.mauriciojunior.org

Criando TreeView com Visual Studio.NET 2005 (parte 1)

Antes de tudo, explicarei qual o objetivo da criação do TreeView com Visual

Studio.NET 2005. Se alguém não conhece o menu ou o nome Newsgroups

MSDN Brasil da Microsoft.

Para ver o treeview que irei criar é parecido