APLICACAO EM 3 CAMADAS WEB
Boa Noite,
Por favor, alguém pode me indicar um bom tutorial ou um exemplo de uma aplicação em 3 camadas vb.net web Poo...
Por favor, alguém pode me indicar um bom tutorial ou um exemplo de uma aplicação em 3 camadas vb.net web Poo...
Segue...
VB.NET - Aplicação de acesso a dados em 3 camadas - parte 1
VB.NET - Aplicação de acesso a dados em 3 camadas - parte 2
VB.NET - Aplicação de acesso a dados em 3 camadas - parte 3
Porém se te interessar, ja existe uma solução mais sofisticado que é o ASP.NET MVC... seguem links
ASP.NET MVC 3 – Razor View Engine
http://www.macoratti.net/pageview.aspx?catid=37
Introducing “Razor†– a new view engine for ASP.NET
Abraços !
VB.NET - Aplicação de acesso a dados em 3 camadas - parte 1
VB.NET - Aplicação de acesso a dados em 3 camadas - parte 2
VB.NET - Aplicação de acesso a dados em 3 camadas - parte 3
Porém se te interessar, ja existe uma solução mais sofisticado que é o ASP.NET MVC... seguem links
ASP.NET MVC 3 – Razor View Engine
http://www.macoratti.net/pageview.aspx?catid=37
Introducing “Razor†– a new view engine for ASP.NET
Abraços !
Bom dia, o que eu preciso é algo como isso http://devbrasil.net/profiles/blogs/aplicacoes-em-n-camadas-com ,mas só encontro material em C# e tem que ser em VB.Net.
Essas aulas me ajudaram http://www.tecnoclasta.com/2008/04/01/curso-gratuito-de-programacao-aspnet-com-video-aulas/, mas precisava saber como faço para interagir com o banco por linha de código e como ligo uma label e um text ao banco...
Essas aulas me ajudaram http://www.tecnoclasta.com/2008/04/01/curso-gratuito-de-programacao-aspnet-com-video-aulas/, mas precisava saber como faço para interagir com o banco por linha de código e como ligo uma label e um text ao banco...
Bom o primeiro link so esta ensinando como gerar o banco/classe a partir do Model, e só esta em C# porque a Solution esta em C#, se criar ela em vb.net ele ira gerar em vb.NET.
Assistir videos é muito bom, mas eu ainda recomendo seguir o tutorial do Macoratti, ele ensina a como voce mesmo diz: [Ô]interagir com o banco por linha de código e como ligo uma label e um text ao banco...[Ô]
Assistir videos é muito bom, mas eu ainda recomendo seguir o tutorial do Macoratti, ele ensina a como voce mesmo diz: [Ô]interagir com o banco por linha de código e como ligo uma label e um text ao banco...[Ô]
Se você tiver o fonte em C#, poste aqui pra gente ir transcrevendo em VB.NET.
Não tenho certeza se é isso...
Obs. Os arquivos serão adicionados em App_Code.
Coloque o código abaixo para as respectivas classes:
DAL.CS
Exemplos, retorno de informação do banco de dados e inclusão da informação.
C# - ASP .NET - 3.5 - VS 2008
Só mais um detalhe, estou usando SQLServer2008.
Obs. Os arquivos serão adicionados em App_Code.
Coloque o código abaixo para as respectivas classes:
DAL.CS
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
// Referencia para conectar ao Access
using System.Data.OleDb;
/// <summary>
/// Está é a classe que irá acessar o banco e retorna a instrução
/// </summary>
namespace Web.DAL
{
public class CamadaAcessoDados
{
//String de conexão para banco de dados em Access.
// Adicione o banco de dados em c: emp
private string connectionString = [Ô]Provider=Microsoft.JET.OLEDB.4.0; data source=c: empBancoDeDados.mdb[Ô];
public DataSet RetornaDataSet(string Sql)
{
// Informa a conexção
OleDbConnection conn = new OleDbConnection(connectionString);
// Informa conexão com instrução SQL vinda da BLL
OleDbDataAdapter adp = new OleDbDataAdapter(Sql, conn);
// Instancia data set
DataSet ds = new DataSet();
// Preenche data Set
adp.Fill(ds);
// Fecha conexão
conn.Close();
// retorna o Data SET
return ds;
}
public void Inserir(string Sql)
{
// Informa a conexção
OleDbConnection conn = new OleDbConnection(connectionString);
// Abre a conexão
conn.Open();
// Informa conexão com instrução SQL vinda da BLL
OleDbCommand cmd = new OleDbCommand(Sql, conn);
// Executa ação
cmd.ExecuteNonQuery();
// Fecha conexção
conn.Close();
}
}
}
BLL.cs
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
// Adicione a DAL
using Web.DAL;
/// <summary>
/// Summary description for BLL
/// </summary>
///
namespace Web.BLL
{
public class CamadaLogicaNegocio
{
// Exemplo de retorno de informação Data Set
#region DataSet's
public DataSet ObtemUsuarios()
{
// Istancia a Camada de Dados
CamadaAcessoDados dal = new CamadaAcessoDados();
// Instrução SQL
return dal.RetornaDataSet([Ô] SELECT TOP 1 NomeUsuario FROM tblusuarios [Ô]);
}
#endregion
// Exemplo de Adicionar informação
#region Insert's
public void InserirUsuario(string usuario)
{
CamadaAcessoDados dal = new CamadaAcessoDados();
dal.Inserir([Ô]INSERT INTO tblusuarios [Ô] +
[Ô](NomeUsuario)VALUES([Ô][Ô]
+ usuario + [Ô][Ô])[Ô]);
}
#endregion
}
}
Neste ponto já temos nossa Camada Lógica preenchida e nossa Camada de Acesso a Dados, segue abaixo as informações de nossa Default.aspx e Default.aspx.cs para entender como funciona o exemplo.
Default.aspx
<%@ Page Language=[Ô]C#[Ô] AutoEventWireup=[Ô]true[Ô] CodeFile=[Ô]Default.aspx.cs[Ô] 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>
<asp:Panel ID=[Ô]Panel1[Ô] runat=[Ô]server[Ô] Width=[Ô]600px[Ô] Height=[Ô]500px[Ô]>
<asp:Label ID=[Ô]Label1[Ô] runat=[Ô]server[Ô] Text=[Ô]3 Camadas com Acesso a Dados[Ô]
Font-Bold=[Ô]True[Ô] Font-Names=[Ô]Batang[Ô] ForeColor=[Ô]#0000CC[Ô]></asp:Label>
<br />
<br />
<br />
<asp:TextBox ID=[Ô]txtUsuario[Ô] runat=[Ô]server[Ô]></asp:TextBox>
<asp:Button ID=[Ô]btnRetornar[Ô] runat=[Ô]server[Ô] onclick=[Ô]btnRetornar_Click[Ô]
Text=[Ô]Retorne o primeiro Usuario[Ô] />
 <asp:Button ID=[Ô]btnAdicionar[Ô] runat=[Ô]server[Ô] onclick=[Ô]btnAdicionar_Click[Ô]
Text=[Ô]Adicionar Usuario[Ô] />
<br />
<br />
<asp:Label ID=[Ô]lblLog[Ô] runat=[Ô]server[Ô] Font-Bold=[Ô]True[Ô] Font-Italic=[Ô]True[Ô]
Text=[Ô]Sem Log no Momento[Ô]></asp:Label>
</asp:Panel>
</div>
</form>
</body>
</html>
Default.aspx.cs
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
// Referenciar a Camada Logica -> BLL
using Web.BLL;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnRetornar_Click(object sender, EventArgs e)
{
//Instanciar Camada Logica -> BLL
CamadaLogicaNegocio cln = new CamadaLogicaNegocio();
//Instanciar Data Set
DataSet ds = new DataSet();
// Receber o retorno e preencher data Set
ds = cln.ObtemUsuarios();
// Apenas adicionar a informação do banco de dados no textbox
txtUsuario.Text = ds.Tables[0].Rows[0][[Ô]NomeUsuario[Ô]].ToString();
}
protected void btnAdicionar_Click(object sender, EventArgs e)
{
if (txtUsuario.Text != [Ô][Ô])
{
//Instanciar Camada Logica -> BLL
CamadaLogicaNegocio cln = new CamadaLogicaNegocio();
cln.InserirUsuario(txtUsuario.Text.ToString());
lblLog.Text = [Ô]Usuario Adicionado[Ô];
}
else
{
lblLog.Text = [Ô]Adicione um nome de Usuário[Ô];
}
}
}
Exemplos, retorno de informação do banco de dados e inclusão da informação.
C# - ASP .NET - 3.5 - VS 2008
Só mais um detalhe, estou usando SQLServer2008.
Poderia postar o projeto no tópico ou é confidencial?
Não sei se quer o projeto ou o fonte, mas estou começando e só fiz isso até agora e tenho que apresentar segunda-feira...
Public Class Cliente
[ô][ô][ô] <summary>
[ô][ô][ô] CAMPOS PRIVADOS DA CLASSE
[ô][ô][ô] </summary>
[ô][ô][ô] <remarks></remarks>
Private nome_cli As String
Private endereco As String
Private telefone As String
Private email As String
Private obs As String
[ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô]
[ô][ô][ô] <summary>
[ô][ô][ô] PROPRIEDADE PUBLICA NOME CLINTE
[ô][ô][ô] </summary>
[ô][ô][ô] <value></value>
[ô][ô][ô] <returns></returns>
[ô][ô][ô] <remarks></remarks>
Public Property NOMEC() As String
Get
Return nome_cli
End Get
Set(ByVal value As String)
If value <> nome_cli Then
nome_cli = value
End If
End Set
End Property
[ô][ô][ô] <summary>
[ô][ô][ô] PROPRIEDADE PUBLICA ENDERECO
[ô][ô][ô] </summary>
[ô][ô][ô] <value></value>
[ô][ô][ô] <returns></returns>
[ô][ô][ô] <remarks></remarks>
Public Property ENDERC() As String
Get
Return endereco
End Get
Set(ByVal value As String)
If value <> endereco Then
endereco = value
End If
End Set
End Property
[ô][ô][ô] <summary>
[ô][ô][ô] PROPRIEDADE PUBLICA TELEFONE
[ô][ô][ô] </summary>
[ô][ô][ô] <value></value>
[ô][ô][ô] <returns></returns>
[ô][ô][ô] <remarks></remarks>
Public Property TELEF() As String
Get
Return telefone
End Get
Set(ByVal value As String)
If value <> telefone Then
telefone = value
End If
End Set
End Property
[ô][ô][ô] <summary>
[ô][ô][ô] PROPRIEDADE PUBLICA EMAIL
[ô][ô][ô] </summary>
[ô][ô][ô] <value></value>
[ô][ô][ô] <returns></returns>
[ô][ô][ô] <remarks></remarks>
[ô][ô][ô]
Public Property EMAI() As String
Get
Return email
End Get
Set(ByVal value As String)
If value <> email Then
email = value
End If
End Set
End Property
[ô][ô][ô] <summary>
[ô][ô][ô] PROPRIEDADE PUBLICA OBSERVAÇÃO
[ô][ô][ô] </summary>
[ô][ô][ô] <value></value>
[ô][ô][ô] <returns></returns>
[ô][ô][ô] <remarks></remarks>
[ô][ô][ô]
Public Property OBSC() As String
Get
Return obs
End Get
Set(ByVal value As String)
If value <> obs Then
obs = value
End If
End Set
End Property
End Class
Public Class Conta
[ô][ô][ô] <summary>
[ô][ô][ô] CAMPOS PRIVADOS DA CLASSE
[ô][ô][ô] </summary>
[ô][ô][ô] <remarks></remarks>
Private nome As String
Private descricao As String
Private forma_pag As String
Private valortotal As String
Private condicao As String
Private num_par As String
Private data_atual As String
Private data_venc As String
Private relacao As String
[ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô]
[ô][ô][ô] <summary>
[ô][ô][ô] PROPRIEDADE PUBLICA NOME
[ô][ô][ô] </summary>
[ô][ô][ô] <value></value>
[ô][ô][ô] <returns></returns>
[ô][ô][ô] <remarks></remarks>
Public Property NOM() As String
Get
Return nome
End Get
Set(ByVal value As String)
If value <> nome Then
nome = value
End If
End Set
End Property
[ô][ô][ô] <summary>
[ô][ô][ô] PROPRIEDADE PUBLICA DESCRICAO
[ô][ô][ô] </summary>
[ô][ô][ô] <value></value>
[ô][ô][ô] <returns></returns>
[ô][ô][ô] <remarks></remarks>
Public Property DESCRIC() As String
Get
Return descricao
End Get
Set(ByVal value As String)
If value <> descricao Then
descricao = value
End If
End Set
End Property
[ô][ô][ô] <summary>
[ô][ô][ô] PROPRIEDADE PUBLICA CONDICAO
[ô][ô][ô] </summary>
[ô][ô][ô] <value></value>
[ô][ô][ô] <returns></returns>
[ô][ô][ô] <remarks></remarks>
Public Property CONDC() As String
Get
Return condicao
End Get
Set(ByVal value As String)
If value <> condicao Then
condicao = value
End If
End Set
End Property
[ô][ô][ô] <summary>
[ô][ô][ô] PROPRIEDADE PUBLICA DATA_ATUAL
[ô][ô][ô] </summary>
[ô][ô][ô] <value></value>
[ô][ô][ô] <returns></returns>
[ô][ô][ô] <remarks></remarks>
[ô][ô][ô]
Public Property DATAAT() As String
Get
Return data_atual
End Get
Set(ByVal value As String)
If value <> data_atual Then
data_atual = value
End If
End Set
End Property
[ô][ô][ô] <summary>
[ô][ô][ô] PROPRIEDADE PUBLICA DATA_VENC
[ô][ô][ô] </summary>
[ô][ô][ô] <value></value>
[ô][ô][ô] <returns></returns>
[ô][ô][ô] <remarks></remarks>
[ô][ô][ô]
Public Property DATAV() As String
Get
Return data_venc
End Get
Set(ByVal value As String)
If value <> data_venc Then
data_venc = value
End If
End Set
End Property
[ô][ô][ô] <summary>
[ô][ô][ô] PROPRIEDADE PUBLICA FORMA_PAGAMENTO
[ô][ô][ô] </summary>
[ô][ô][ô] <value></value>
[ô][ô][ô] <returns></returns>
[ô][ô][ô] <remarks></remarks>
[ô][ô][ô]
Public Property FORMAPAG() As String
Get
Return forma_pag
End Get
Set(ByVal value As String)
If value <> forma_pag Then
forma_pag = value
End If
End Set
End Property
[ô][ô][ô] <summary>
[ô][ô][ô] PROPRIEDADE PUBLICA VALORTOTAL
[ô][ô][ô] </summary>
[ô][ô][ô] <value></value>
[ô][ô][ô] <returns></returns>
[ô][ô][ô] <remarks></remarks>
[ô][ô][ô]
Public Property VALOT() As String
Get
Return valortotal
End Get
Set(ByVal value As String)
If value <> valortotal Then
valortotal = value
End If
End Set
End Property
[ô][ô][ô] <summary>
[ô][ô][ô] PROPRIEDADE PUBLICA RELACAO
[ô][ô][ô] </summary>
[ô][ô][ô] <value></value>
[ô][ô][ô] <returns></returns>
[ô][ô][ô] <remarks></remarks>
[ô][ô][ô]
Public Property RELAC() As String
Get
Return relacao
End Get
Set(ByVal value As String)
If value <> relacao Then
relacao = value
End If
End Set
End Property
[ô][ô][ô] <summary>
[ô][ô][ô] PROPRIEDADE PUBLICA NUMEROPARCELAS
[ô][ô][ô] </summary>
[ô][ô][ô] <value></value>
[ô][ô][ô] <returns></returns>
[ô][ô][ô] <remarks></remarks>
[ô][ô][ô]
Public Property NUMPARC() As String
Get
Return num_par
End Get
Set(ByVal value As String)
If value <> num_par Then
num_par = value
End If
End Set
End Property
End Class
Public Class Fornecedor
[ô][ô][ô] <summary>
[ô][ô][ô] CAMPOS PRIVADOS DA CLASSE
[ô][ô][ô] </summary>
[ô][ô][ô] <remarks></remarks>
Private nome_for As String
Private endereco_for As String
Private telefone_for As String
Private email_for As String
Private obs_for As String
[ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô][ô]
[ô][ô][ô] <summary>
[ô][ô][ô] PROPRIEDADE PUBLICA NOME FORNECEDOR
[ô][ô][ô] </summary>
[ô][ô][ô] <value></value>
[ô][ô][ô] <returns></returns>
[ô][ô][ô] <remarks></remarks>
Public Property NOMEF() As String
Get
Return nome_for
End Get
Set(ByVal value As String)
If value <> nome_for Then
nome_for = value
End If
End Set
End Property
[ô][ô][ô] <summary>
[ô][ô][ô] PROPRIEDADE PUBLICA ENDERECO FORNECEDOR
[ô][ô][ô] </summary>
[ô][ô][ô] <value></value>
[ô][ô][ô] <returns></returns>
[ô][ô][ô] <remarks></remarks>
Public Property ENDFOR() As String
Get
Return endereco_for
End Get
Set(ByVal value As String)
If value <> endereco_for Then
endereco_for = value
End If
End Set
End Property
[ô][ô][ô] <summary>
[ô][ô][ô] PROPRIEDADE PUBLICA TELEFONE FORNECEDOR
[ô][ô][ô] </summary>
[ô][ô][ô] <value></value>
[ô][ô][ô] <returns></returns>
[ô][ô][ô] <remarks></remarks>
Public Property TELEFOR() As String
Get
Return telefone_for
End Get
Set(ByVal value As String)
If value <> telefone_for Then
telefone_for = value
End If
End Set
End Property
[ô][ô][ô] <summary>
[ô][ô][ô] PROPRIEDADE PUBLICA EMAIL FORNECEDOR
[ô][ô][ô] </summary>
[ô][ô][ô] <value></value>
[ô][ô][ô] <returns></returns>
[ô][ô][ô] <remarks></remarks>
[ô][ô][ô]
Public Property EMAILFOR() As String
Get
Return email_for
End Get
Set(ByVal value As String)
If value <> email_for Then
email_for = value
End If
End Set
End Property
[ô][ô][ô] <summary>
[ô][ô][ô] PROPRIEDADE PUBLICA OBSERVAÇÃO FORNECEDOR
[ô][ô][ô] </summary>
[ô][ô][ô] <value></value>
[ô][ô][ô] <returns></returns>
[ô][ô][ô] <remarks></remarks>
[ô][ô][ô]
Public Property OBSF() As String
Get
Return obs_for
End Get
Set(ByVal value As String)
If value <> obs_for Then
obs_for = value
End If
End Set
End Property
End Class
Aninha essas classes que você crio são apenas as DTO como conhecida no .NET ou Entity como no Java
e o resto? DAL e BLL
Exemplos básicos que já publiquei aqui.
ARQUITETURA EM 3 CAMADAS
SISTEMA DE MENSAGENS - WORK FLOW
e o resto? DAL e BLL
Exemplos básicos que já publiquei aqui.
ARQUITETURA EM 3 CAMADAS
SISTEMA DE MENSAGENS - WORK FLOW
Obrigada, com certeza vai ajudar...
Tópico encerrado , respostas não são mais permitidas