public Array[] GetAll(string sql)
{
Array[] arr = new Array[100];
int i = 0;
try
{
SqlCommand command = new SqlCommand(sql,db.conn);
db.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Item it = new Item();
it.ID = Convert.ToInt32(reader["ID"]);
it.Name = (reader["Name"]).ToString();
it.Level = (reader["Level"]).ToString();
it.Email = (reader["Email"]).ToString();
it.days = Convert.ToDouble(reader["days"]);
arr[i] = it;
i++;
}
}
page:
case 1:
string sql = "select * from Users";
Array[] arr = man.GetAll(sql);
Console.WriteLine("----------------------------------------------------------");
Console.WriteLine("编号\t昵称\t等级\t天数\t邮箱");
Console.WriteLine("----------------------------------------------------------");
foreach (Array item in arr)
{
if (item != null)
{
Console.WriteLine("{0}\t{1}\t{2}\t{3}\t{4}");
}
else
{
break;
}
Console.WriteLine("----------------------------------------------------------");
}
break;
你的代码中,你声明了一个Array[]类型的数组arr,但是你在循环中将Item类型的对象赋值给了数组的元素,这就导致了编译错误。
你可以将数组的类型改为Item[],或者将循环中的Array item改为Item item来解决此问题。
例如:
public Item[] GetAll(string sql)
{
Item[] arr = new Item[100];
int i = 0;
try
{
SqlCommand command = new SqlCommand(sql, db.conn);
db.Open();
SqlDataReader reader = command.ExecuteReader();
while(reader.Read())
{
Item it = new Item();
it.ID = Convert.ToInt32(reader["ID"]);
it.Name = (reader["Name"]).ToString();
it.Level = (reader["Level"]).ToString();
it.Email = (reader["Email"]).ToString();
it.days = Convert.ToDouble(reader["days"]);
arr[i] = it;
i++;
}
}
page:
case 1:
string sql = "select * from Users";
Item[] arr = man.GetAll(sql);
Console.WriteLine("----------------------------------------------------------");
Console.WriteLine("编号\t昵称\t等级\t天数\t邮箱");
Console.WriteLine("----------------------------------------------------------");
foreach(Item item in arr)
{
if(item != null)
{
Console.WriteLine("{0}\t{1}\t{2}\t{3}\t{4}");
}
else
{
break;
}
Console.WriteLine("----------------------------------------------------------");
}
break;