求ASP.net 从MySQL数据库中查询,把数据写入对应的TextBox中实现方法

TextBox1~8

 MySqlConnection conn = new MySqlConnection(str);
            conn.Open();
            //string sql = "select * from Sys_Person where PersonName='" + admin_id + "' and password='" + admin_psw + "'";
            string sql = "select * from inf_Benefit where personID = '" + user_ID +"' and MONTH(InputDate)='"+DateTime.Now.Month.ToString()+"'";
            MySqlCommand mcom = new MySqlCommand(sql, conn);//执行数据库查询代码
            MySqlDataReader sdr = mcom.ExecuteReader();
            if (sdr.Read())
            {
                while (sdr.Read())
                {
                    for (int i = 0; i < 9; i++)
                    {
                        TextBox[i].Text = sdr.GetString(3).TrimEnd();//报错
                    }
                }
                sdr.Close();
            }

如上代码无法实现请各位大神有没有好的办法?

數據怎麽來,就怎麽給到對應的對象

你这超出索引了吧,比只有8TextBox,但你循环9次。

不是这个问题,是那个TextBox[i]不对

 

数据库文件。。

 var user_ID = Session["user_ID"].ToString();
            string str = "server=localhost;user id=root;Password=jw123!@#;database=mashang;Allow User Variables=True;";
            MySqlConnection conn = new MySqlConnection(str);//链接数据库
            conn.Open();
            //string sql = "select * from Sys_Person where PersonName='" + admin_id + "' and password='" + admin_psw + "'";
            string sql = "select * from inf_Benefit where personID = '" + user_ID + "' and MONTH(InputDate)='" + DateTime.Now.Month.ToString() + "'";
            MySqlCommand mcom = new MySqlCommand(sql, conn);//执行数据库查询代码
            MySqlDataReader sdr = mcom.ExecuteReader();
            if (sdr.Read() == true)
            {
                for (int i = 0; i < 8; i++)
                {
                    sdr.Read();

                    ((TextBox)this.form1.FindControl("TextBox" + (i + 1).ToString())).Text = sdr["ProjectNO"].ToString();

                }
            }
            sdr.Close();
            conn.Close();


完美的解决了我的问题,谢谢楼上的二位亲!