我试图通过使用下面的代码从数据库中获取数据…..
如果表中没有数据,它将始终进入
这个说法
我使用mysql.net连接器获取数据,我正在做winforms应用程序
使用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);
- }
- 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;
- }
即使没有数据,流程也会流向此行
table = ds.Tables[0];
我怎么能减少这个……
任何人都会对此有所帮助….