我有一组像48这样的按钮。
在表单加载事件中,我从每个按钮中获取所有按钮文本值以运行查询,这是使用“for loop and array”完成的。
到目前为止,这是我的工作。
Button[] btnarray = { button1, button2, button3, button5, button6};
for (int j = 0; j <= btnarray.Length; j++)
{
MySqlConnection con = new MySqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["db"].ConnectionString);
con.Open();
string query = "SELECT carplate FROM billing WHERE carplate='" + btnarray[j].Text + "' AND dates=DATE(NOW())"; // This is where i get error.
MySqlCommand command = new MySqlCommand(query, con);
var reader = command.ExecuteReader();
if (reader.Read())
{
btnarray[j].BackColor = Color.Red;
}
else
{
btnarray[j].BackColor = Color.Khaki;
}
}
感谢任何帮助。
答案 0 :(得分:1)
for循环不正确你应该与<
比较长度而不是<=
长度:
for (int j = 0; j < btnarray.Length; j++)
{
答案 1 :(得分:0)
Array
的索引从0到数组大小 - 1.将循环切换到
for (int j = 0; j < btnarray.Length; j++)
或者
for (int j = 0; j <= btnarray.Length - 1; j++)
第一个选项更好,因为它每次迭代都会保存btnarray.Length - 1
计算。