且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

文本框自动完成与MySQL

更新时间:2023-08-20 09:42:22

尝试

 的(诠释计数= 0; COUNT< dt.Rows.Count-1;计数++)
 

如果该行数是10,你从0需要循环到9(10-1)。

干杯

I am trying to do the text box autocomplete by using the code below, but it gives the error

ERROR :"Object reference not set to an instance of an object"

on this line:

for (int count = 0; count < dt.Rows.Count; count++)

Can anyone please help me?

private void tbMemberName_TextChanged_1(object sender, EventArgs e)
{
    tbMemberName.AutoCompleteMode = AutoCompleteMode.Suggest;
    tbMemberName.AutoCompleteSource = AutoCompleteSource.CustomSource;
    AutoCompleteStringCollection namec = new AutoCompleteStringCollection();

    //string search ="%"+ tbMemberName.Text +"%";
    //string @Name = tbMemberName.Text; 
    String sql =
        @"SELECT DISTINCT(member_Firstname +''+ member_Lastname) AS Name FROM members WHERE Name  Like '%'+tbMemberName.Text+'%'";
    DataTable dt = MemberFormHelper.GetData(sql, mf);
    if (dt.Rows.Count >= 0)
    {
        for (int count = 0; count < dt.Rows.Count; count++)
        {
            namec.Add(dt.Rows[count][Name].ToString());
        }
    }
    tbMemberName.AutoCompleteCustomSource = namec;
}

Try

for (int count = 0; count < dt.Rows.Count-1; count++)

If the row count is 10, you need to loop from 0 to 9 (10-1).

Cheers