Camada DAL
Caros amigos boa noite,
estou com um problema relativamente simples, porem revirei o google hoje o dia inteiro e nao consegui resolver.
estou fazendo a camada DAL de uma aplicacao e estou com dificuldades para retornar os dados da base e carregar um repeater.
segue minha camada DAL
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using IGrupo = LibraryCEA.Concrete.Modulo00_Controle.IGrupo;
namespace LibraryCEA.DAL.Modulo00_Controle
{
public class Grupo
{
public Grupo()
{ }
DataSet ds = new DataSet();
SqlConnection conexao;
//Parametros da Aplicacao
SqlCommand cmd = new SqlCommand();
SqlParameter sp1 = new SqlParameter();
SqlParameter sp2 = new SqlParameter();
SqlParameter sp3 = new SqlParameter();
SqlParameter sp4 = new SqlParameter();
ICollection<IGrupo> Lista = null;
public int Insert(IGrupo ItemGrupo, string conn)
{
try
{
conexao = new SqlConnection(conn);
cmd.Parameters.Add("@VAR_NOME", SqlDbType.VarChar).Value = ItemGrupo.var_nome;
cmd.Parameters.Add("@VAR_DESCRICAO", SqlDbType.VarChar).Value = ItemGrupo.var_descricao;
cmd.Parameters.Add("@FLG_ATIVO", SqlDbType.Int).Value = ItemGrupo.flg_ativo;
cmd.Parameters.Add("@FLG_COMBO", SqlDbType.Int).Value = ItemGrupo.int_combo;
SqlParameter ident = new SqlParameter("@FLG_RETORNO", DbType.Int32);
ident.Direction = ParameterDirection.Output;
cmd.Parameters.Add(ident);
cmd = new SqlCommand("SP_CASA_M0_TB_GRUPO_INSERT", conexao);
cmd.CommandType = CommandType.StoredProcedure;
conexao.Open();
cmd.ExecuteNonQuery();
int intGrupo = Convert.ToInt32(cmd.Parameters["@FLG_RETORNO"].Value);
return 1;
}
catch (Exception ex)
{
//lblmsg.Text = ex.Message;
return 0;
}
finally
{
conexao.Close();
}
}
public static DataSet getDataSet(string strSQL)
{
DataSet ds = new DataSet();
SqlConnection cn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MsSQL"].ConnectionString);
cn.Open();
SqlDataAdapter da = new SqlDataAdapter(strSQL, cn);
ds.Tables.Add();
ds.EnforceConstraints = false; // Desabilita restrições SQL constraints, deixando o DataSet mais rápido (+/- engine MyIsam do MySQL)
ds.Tables[0].BeginLoadData(); // Trata todas as colunas sem diferença, sem PK, sem FK...
da.Fill(ds.Tables[0]);
cn.Close();
return ds;
cn = null;
}
public int Update(IGrupo ItemGrupo, string conn)
{
try
{
conexao = new SqlConnection(conn);
cmd.Parameters.Add("@ID_GRUPO", SqlDbType.Int).Value = ItemGrupo.id_grupo;
cmd.Parameters.Add("@VAR_NOME", SqlDbType.VarChar).Value = ItemGrupo.var_nome;
cmd.Parameters.Add("@VAR_DESCRICAO", SqlDbType.VarChar).Value = ItemGrupo.var_descricao;
cmd.Parameters.Add("@FLG_ATIVO", SqlDbType.Int).Value = ItemGrupo.flg_ativo;
cmd.Parameters.Add("@FLG_COMBO", SqlDbType.Int).Value = ItemGrupo.int_combo;
SqlParameter ident = new SqlParameter("@FLG_RETORNO", DbType.Int16);
ident.Direction = ParameterDirection.Output;
cmd.Parameters.Add(ident);
cmd = new SqlCommand("SP_CASA_M0_TB_GRUPO_UPDATE", conexao);
cmd.CommandType = CommandType.StoredProcedure;
conexao.Open();
cmd.ExecuteNonQuery();
return 1;
}
catch (Exception ex)
{
//lblmsg.Text = ex.Message;
return 0;
}
finally
{
conexao.Close();
}
}
public DataSet Select(IGrupo ItemGrupo, string conn)
{
try
{
conexao = new SqlConnection(conn);
cmd.Parameters.Add("@ID_GRUPO", SqlDbType.Int).Value = ItemGrupo.id_grupo;
cmd.Parameters.Add("@VAR_NOME", SqlDbType.VarChar).Value = ItemGrupo.var_nome;
cmd.Parameters.Add("@VAR_DESCRICAO", SqlDbType.VarChar).Value = ItemGrupo.var_descricao;
cmd.Parameters.Add("@FLG_ATIVO", SqlDbType.Int).Value = ItemGrupo.flg_ativo;
cmd.Parameters.Add("@FLG_COMBO", SqlDbType.Int).Value = ItemGrupo.int_combo;
cmd = new SqlCommand("SP_CASA_M0_TB_GRUPO_SELECT", conexao);
cmd.CommandType = CommandType.StoredProcedure;
conexao.Open();
//cmd.ExecuteNonQuery();
//SqlDataReader rdr = cmd.ExecuteReader();
SqlDataAdapter ta = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
ta.Fill(ds);
return ds;
}
catch (Exception ex)
{
//lblmsg.Text = ex.Message;
}
finally
{
conexao.Close();
}
}
}
}
Podem ver que no select existem algumas linhas comentadas, tentei de diversos modos, com lista, dataset e ICollection porem nenhum com resultados satisfatórios.
Como devo fazer este retorno para carregar o repeater, ou até um gridview.
Conto com a ajuda de todos.
Obrigado
Discussão (8)
Carregando comentários...