这是我的DBHelper类
namespace Oficina.Dados
{
public class DbHelper
{
public SqlCommand ExecutarProcedure(string procedure)
{
//Definir o comando
var cmd = new SqlCommand();
try
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = procedure;
cmd.Connection = new SqlConnection(Properties.Settings.Default.cnOficina);
cmd.Connection.Open();
return cmd;
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
public SqlCommand ExecutarProcedure(string procedure, List<SqlParameter> parametros)
{
var cmd = ExecutarProcedure(procedure);
try
{
cmd.Parameters.AddRange(parametros.ToArray());
return cmd;
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
public class ClienteDados : DbHelper
{
}
}
}
而且,当我尝试使用&#34; Executar Procedure&#34;在这堂课中,我得到错误CS0103
namespace Oficina.Dados
{
public class ClienteDados
{
public List<ClienteModelo> ListarClientes()
{
try
{
//Definir o leitor
SqlDataReader leitor = ExecutarProcedure("pCliente_SEL_Todos").ExecuteReader();
//Definir uma lista do tipo ClienteModelo
List<ClienteModelo> lista = new
List<ClienteModelo>();
//Adicionar um cliente em branco na lista
lista.Add(new ClienteModelo()
{
Codigo = 0,
Nome = "",
Email = "",
Nascimento = DateTime.Now
});
//Verificar se o leitor está lendo registros
while (leitor.Read())
{
//Adicionar os clientes à lista
lista.Add(new ClienteModelo()
{
Codigo = (int)leitor["Codigo"],
Nome = leitor["Nome"].ToString(),
Email = leitor["Email"].ToString(),
Nascimento = (DateTime)leitor["Nascimento"]
});
}
//Fechar o leitor
leitor.Close();
//Retornar a lista
return lista;
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
}
}
答案 0 :(得分:0)
您定义了两个ClienteDados
类,其中一个是DbHelper
中的内部类,并从中继承,另一个是独立的,不继承自DbHelper
。这些方法也不是静态的,因此第二个ClienteDados
没有理由知道它们。
让它继承DbHelper
并删除ClienteDados
中的内部DbHelper
。
namespace Oficina.Dados
{
public class ClienteDados : DbHelper
{
//...
}
}
namespace Oficina.Dados
{
public class DbHelper
{
public SqlCommand ExecutarProcedure(string procedure) { //... }
public SqlCommand ExecutarProcedure(string procedure, List<SqlParameter> parametros) { //... }
}
}