【发布时间】:2012-02-01 15:27:57
【问题描述】:
我正在开发一个基本的 mysql 数据库类,它有几个函数。其中一个函数应返回所有行和列的列表。该代码正在运行,并且非常动态,但看起来还可以改进。我希望有人可以看看这段代码并告诉我是否有其他解决方案?
我尝试的其他解决方案之一是没有列表,但它涉及为它必须返回的每一行重新创建一个数组,所以我放弃了它并转向列表。
public List<object[]> ReadAllRows(string sQuery)
{
List<object[]> oResults = new List<object[]>();
try
{
MySqlCommand msCommand = new MySqlCommand
{
CommandText = sQuery,
Connection = Connection
};
using (MySqlDataReader msReader = msCommand.ExecuteReader())
{
if(!msReader.HasRows)
return EmptyList;
while (msReader.Read())
{
object[] oRowValues = new object[msReader.FieldCount];
{
msReader.GetValues(oRowValues);
}
oResults.Add(new object[] { oRowValues });
}
}
}
catch (MySqlException ex)
{
LastError = "Error: " + ex;
return EmptyList;
}
return oResults;
}
如果有任何问题,请随时提问
【问题讨论】:
-
你应该尝试 linq to MySQL。有许多开源 API。 devart.com/dotconnect/mysql