我有这个代码和读者。 我怎样才能获得读者。如果没有方法,请不要?
System.Windows.Forms.TextBox txt = new System.Windows.Forms.TextBox();
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
string query = " select * FROM Other ORDER BY Type";
command.CommandText = query;
OleDbDataReader reader = command.ExecuteReader();
txt.Text = "txtpertanyaan"+cLeft;
this.Controls.Add(txt);
txt.Top = cLeft *25;
txt.Left = 100;
if (cLeft == 1)
{
if (reader.HasRows)
{
reader.Read();
txt.Text = reader["Type"].ToString();
reader.Read();
}
}
else if (cLeft ==2)
{
if (reader.HasRows)
{
reader.Read();
reader.Read();
txt.Text = reader["Type"].ToString();
reader.Read();
}
}
else if (cLeft == 3)
{
if (reader.HasRows)
{
reader.Read();
reader.Read();
reader.Read();
txt.Text = reader["Type"].ToString();
reader.Read();
}
}
cLeft = cLeft+1;
return txt;
}
感谢您的建议。我使用动态文本框,如果单击按钮,则会自动添加。
我想要如果cleft = 1那么reader.read()= 1,但如果cleft = 10,我想duuno?必须是我必须写,如果条件直到10次?它太长了......
答案 0 :(得分:0)
如果您只想摆脱If
语句,可以改用For
。
System.Windows.Forms.TextBox txt = new System.Windows.Forms.TextBox();
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
string query = " select * FROM Other ORDER BY Type";
command.CommandText = query;
OleDbDataReader reader = command.ExecuteReader();
txt.Text = "txtpertanyaan"+cLeft;
this.Controls.Add(txt);
txt.Top = cLeft *25;
txt.Left = 100;
if (reader.HasRows)
{
for (int i = 0; i < cLeft ; i++)
{
reader.Read();
}
txt.Text = reader["Type"].ToString();
Reader.Read();
}
cLeft = cLeft+1;
return txt;