Estoy tratando de obtener los datos de base de datos utilizando el código de abajo .....problema con conseguir los datos de la base de datos
si no hay datos en la tabla siempre se va al esta declaración
estoy usando conector mysql.net para obtener los datos y yo estoy haciendo WinForms aplicaciones usando C#
public DataTable sales(DateTime startdate, DateTime enddate)
{
const string sql = @"SELECT memberAccTran_Source as Category, sum(memberAccTran_Value) as Value
FROM memberacctrans
WHERE memberAccTran_DateTime BETWEEN @startdate AND @enddate
GROUP BY memberAccTran_Source";
return sqlexecution(startdate, enddate, sql);
}
y el código de abajo es para el retorno sqlexceution ... .. función
private static DataTable sqlexecution(DateTime startdate, DateTime enddate, string sql)
{
var table = new DataTable();
using (var conn = new MySql.Data.MySqlClient.MySqlConnection(connectionstring))
{
conn.Open();
var cmd = new MySql.Data.MySqlClient.MySqlCommand(sql, conn);
var ds = new DataSet();
var parameter = new MySql.Data.MySqlClient.MySqlParameter("@startdate", MySql.Data.MySqlClient.MySqlDbType.DateTime);
parameter.Direction = ParameterDirection.Input;
parameter.Value = startdate.ToString(dateformat);
cmd.Parameters.Add(parameter);
var parameter2 = new MySql.Data.MySqlClient.MySqlParameter("@enddate", MySql.Data.MySqlClient.MySqlDbType.DateTime);
parameter2.Direction = ParameterDirection.Input;
parameter2.Value = enddate.ToString(dateformat);
cmd.Parameters.Add(parameter2);
var da = new MySql.Data.MySqlClient.MySqlDataAdapter(cmd);
da.Fill(ds);
try
{
table = ds.Tables[0];
}
catch
{
table = null;
}
}
return table;
}
incluso si no hay datos de la voluntad el flujo de proceso pasa a esta línea
TABLE = ds.Tables [0];
¿Cómo puedo reducir esto .....
haría cualquier pls ayuda en esto ....
qué ru dando por voto ... –
Ha considerado el uso un ORM, por ejemplo Linq a SQL Entidades o EF? – James
no .. tengo que usar este ... –