文本框自动完成与MySQL
我将尝试使用下面的代码做文本框自动完成,但它给出了错误文本框自动完成与MySQL
ERROR :"Object reference not set to an instance of an object"
在这条线:
for (int count = 0; count < dt.Rows.Count; count++)
谁能帮我?
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;
}
如果NRE是此行
for (int count = 0; count < dt.Rows.Count; count++)
那么这只能意味着dt
为空。
因此MemberFormHelper.GetData(sql, mf);
正在返回空值。在循环之前修复GetData()
或检查dt
为null。
String sql = @“SELECT(member_Firstname +''+ member_Lastname)AS Name FROM members WHERE Name Like'”+ tbMemberName.Text +“'”;它不工作,你会确认aboce查询是正确的一个为mysql pls ...它不会给出任何错误 – user682417 2011-06-13 15:36:21
@ user1你可以发布整个'MemberFormHelper.GetData()'方法吗? – 2011-06-13 15:37:58
public static DataTable GetData(string sql,formMain mf) {r = WebCalls.webClass.doPost(mf.gBaseUrl +“xxxx/xxxx/query.php”,sql); DataSet ds = new DataSet(); System.IO.TextReader t = new System.IO.StringReader(r); 尝试 ds.ReadXml(t); } catch { Console.WriteLine(r); (ds.Tables.Count> 0) } if(ds.Tables.Count> 0) { DataTable dt = ds.Tables [0]; return dt; } else { } return null; } – user682417 2011-06-13 15:41:17
尝试
for (int count = 0; count < dt.Rows.Count-1; count++)
如果行数是10,你需要循环从0到9(10-1)。
干杯
会不会有人请帮助我从这种情况 – user682417 2011-06-13 14:52:32
请相应标记您的问题,使用尽可能多的标签,你可以,这将帮助你的问题的答案。 – Trufa 2011-06-13 15:33:30