Escolar Documentos
Profissional Documentos
Cultura Documentos
1 de 4
http://www.aspneti.com/usando+public+interface+677,0.aspx
Pesquisar
Novo BlackBerry
Automao Industrial
Notebook Na Kalunga
A emoo da velocidade
inteligente. Conhea os novos
processadores
www.intel.com
Mais anncios
Seja bem vindo(a) Visitante, voc no est logado deseja logar
na comunidade ASPNETi.COM e participar de servios e promoes ? clique aqui.
Principal
Livros
Ebook's
Artigos
Vdeos
Grupo
Cadastre-se
Login
Empregos
Frum
PodCast
Cadastrar Emprego | Cadastrar Artigo | Clula Acadmica | Buscar Empregos | Fale Conosco | Direitos Autorais | Colaboradores| Parceiros| Temas:
Ttulo do Artigo
Informaes Online:
Referncia:
Ferramenta Visual Studio.NET
Linguagem C#.NET
Framework 3.5 / 2.0 / 1.x
A interface geralmente tratada como uma camada de abstrao, ou seja, uma cama acima que sabe identificar qual a melhor forma
de acessar a fonte de dados, mtodo ou funo. Um exemplo bsico disso : imagina criar uma interface que sabe qual banco de dados
acessar; oracle, sql server, mysql, access ou outros.
Voc s manda o comando e a interface detecta qual banco de dados est na sua aplicao. O comando select * from tabela na
interface; pega o dado para a camada de dados correta. Criei primeiro uma classe helper com o mtodo principal. (Referncia 1.1)
public DataSet ExecutaDataSetParameter(IDbCommand sqlCommand)
{
try
{
base.OpenConnection();
sqlCommand.Connection = sqlConnection;
System.Data.IDbDataAdapter dataAdapter = new System.Data.SqlClient.SqlDataAdapter();
dataAdapter.SelectCommand = sqlCommand;
DataSet dtSet = new DataSet();
dataAdapter.Fill(dtSet);
return dtSet;
}
catch(SqlException e)
{
throw new NotImplementedException(e.Message);
}
finally
{
base.CloseConnection();
}
}
Referncia 1.1
O mtodo executa um dado e retorna um objeto do tipo dataset. Recebe como parmetro de entrada chamado IDbCommand, uma
interface da classe Command. No decorrer do mtodo utilizo sempre a interface de mtodos, o DataAdapter por exemplo possui uma
interface chamada IDbDataAdapter que recebe um objeto do tipo SqlDataAdapter().
Categoria de Artigos
APPLE
ASP 3.0
BANCO DE DADOS
DELPHI
FISIOTERAPIA
JAVA
LINQ
NOVIDADES
VB.NET
VRUS / SPAM
ARQUITETURA
ASP.NET
C#.NET
FINANAS
FLASH
JAVA SCRIPT
MOBILE
TPC/IP e DOS
VDEOS ONLINE
WEBSERVICE
Essa helper apenas para o banco de dados SQL Server. (Referncia 1.2)
Vdeos
? Referncia 1.2
Note na imagem que tenho uma HelperSQL.cs, tem todos os mtodos especficos para o banco de dados SQL Server. O prximo passo
gerar um helper para o Oracle. (Referncia 1.3)
06/05/2010 14:45
2 de 4
http://www.aspneti.com/usando+public+interface+677,0.aspx
namespace Bancoob.Data {
public class HelperOracle : IDTec
{
public DataSet ExecutaDataSetParameter(IDbCommand sqlCommand)
{
try
{
System.Data.IDbDataAdapter dataAdapter = new System.Data.Odbc.OdbcDataAdapter();
dataAdapter.SelectCommand = sqlCommand;
DataSet dtSet = new DataSet();
dataAdapter.Fill(dtSet);
return dtSet;
}
catch (OdbcException e)
{ throw new NotImplementedException(e.Message);
}
}
}
}
No
Votar
Resultado
Colaboradores
Referncia 1.3
Nesta classe HelperOracle.cs possui um mesmo mtodo para um outro banco de dados, Oracle por exemplo. Para acessar o banco, o
comando ODBC importante, em vez de fazer outro mtodo na helper SQL, coloco na helper Oracle. Veja a mudana no
System.Data.OdbcDataAdapter() , a Exception tambm do tipo Odbc. (Referncia 1.4)
? Referncia 1.4
O prximo passo gerar uma interface que saiba qual classe Helper acessar em determinados momentos. Uma hora na HelperSQL e
outra hora no HelperOracle. Geralmente a interface possui apenas o cabealho do mtodo, por exemplo: note que na referncia 1.3 e
1.1 possui todo o mtodo que recebe um comando e retorno o objeto do tipo DataSet; dessa forma, na interface fica apenas o
cabealho que por sinal um igual ao outro. (Referncia 1.4)
Referncia 1.4
No caso de ter outra helper para acesso a outro banco como o access, ter a mesma assinatura e no seu interior ir tratar direto com o
banco e interfaces do access. O passo seguinte mostrar a interface.
Na classe da interface no ter public class e sim public interface. (Referncia 1.5)
publicou 5 artigo(s).
Ter apenas um public interface e o nome que achar melhor. Veja mais abaixo a chamada do mtodo criado nas referncias acima.
(Referncia 1.6)
publicou 4 artigo(s).
Automao Industrial
Notebook Na Kalunga
Mais anncios
Comentrios:
06/05/2010 14:45
3 de 4
http://www.aspneti.com/usando+public+interface+677,0.aspx
Comentrio:
Cdigo Imagem:
Logar
Limpar
06/05/2010 14:45
4 de 4
http://www.aspneti.com/usando+public+interface+677,0.aspx
06/05/2010 14:45