【发布时间】:2015-02-06 22:12:31
【问题描述】:
尝试从我的问题中找到类似但似乎检测到太多无法访问的代码
我的表由 4 行组成,我尝试了此代码
using (MySqlConnection conn = new MySqlConnection(myConnection))
{
conn.Open();
MySqlCommand cmd = new MySqlCommand(query, conn);
int num = Convert.ToInt32(cmd.ExecuteScalar());
MySqlCommand cmd1 = new MySqlCommand(query2, conn);
MySqlDataReader reader = cmd1.ExecuteReader();
while (reader.Read())
{
for (int a = 0; a <= num; a++)
{
List li = new List();
li.linkLabel1.Text = reader["TitleAnime"].ToString();
flowLayoutPanel1.Controls.Add(li);
// break;
}
}
conn.Close();
}
但是它给了我 16 个值,这太多了,然后我尝试在 for 循环中放入 break,我能够实现我的目标,它给了我 4 个值,这在我的表上是相同的,但似乎有一个错误调用检测到无法访问的代码..我应该忽略它,因为我能够得到我需要的东西吗?或者有其他方法吗
【问题讨论】:
-
您不需要先从数据库中读取
num。while (reader.Read())已经为您读取了所有记录。要么,要么你的query2没有做你认为它正在做的事情。 -
抱歉我的错误。我正在尝试首先获取行数,该值将是循环的长度或限制..
-
字符串查询 = "SELECT COUNT(TitleAnime) FROM maindatabase.animelist;"; string query2 = "SELECT TitleAnime FROM maindatabase.animelist";
-
你得到 16 而不是 4 的原因是你有一个 for() 循环,每次读取运行 4 次。你可以摆脱它。
标签: c# mysql visual-studio-2010