combobox的未将对象的引用设置到对象的实例错误

Microtigers 2009-05-06 03:45:38
private void Form1_Load(object sender, EventArgs e){
provbox.Items.Add(new DictionaryEntry("请选择省",""));
provbox.SelectedIndex = 0;
OleDbCommand cmd = new OleDbCommand("select * from prov", conn);
OleDbDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
provbox.Items.Add(new DictionaryEntry(reader["prov_name"], reader["prov_id"]));
}
provbox.DisplayMember = "Key";
provbox.ValueMember = "Value";
}
在form加载的时候初始化 combobox控件provbox
private void provbox_SelectedIndexChanged(object sender, EventArgs e)
{
string sql = "select * from city where prov_id=" + provbox.SelectedValue.ToString();
}
string sql = "select * from city where prov_id=" + provbox.SelectedValue.ToString(); 提示未将对象的引用设置到对象的实例

是哪里出错吴了呢

...全文
276 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
deng520159 2009-05-06
  • 打赏
  • 举报
回复
你这个不能用selectvalue.
仔细研究一下selectitem selecttext,selectvalue 这三个有什么区别,
下面是绑定combox
/// <summary>
/// 绑定combobox
/// </summary>
/// <param name="cb"></param>
/// <param name="sql"></param>
/// <param name="textField">显示字段</param>
/// <param name="valueField">值字段</param>
/// <param name="conn"></param>
/// <returns></returns>
public static bool bindComboBox(ComboBox cb, string sql, string textField, string valueField, string conn_str)
{
bool result = false;
OleDbConnection conn = new OleDbConnection(conn_str);
try
{

conn.Open();
string tablename = "temp";
cb.DataSource = ReturnDataTable(conn_str, sql, tablename);
cb.DisplayMember = textField;
cb.ValueMember = valueField;
result = true;
}
catch (Exception err)
{
//StringCom.showInformation(err.Message);
}
finally
{
conn.Close();
}
return result;
}
zllking 2009-05-06
  • 打赏
  • 举报
回复
是不是provbox压根都没有绑定Value?
Microtigers 2009-05-06
  • 打赏
  • 举报
回复
但是我选择了一个,怎么能没有数据呢!
Fibona 2009-05-06
  • 打赏
  • 举报
回复
if(provbox.SelectedValue!=null)
{
string sql = "select * from city where prov_id=" + provbox.SelectedValue.ToString();
}
因为你没有选择的时候SelectedValue为null
null->ToString()当然报错
在前面加一个判断
zllking 2009-05-06
  • 打赏
  • 举报
回复
在你CS页面行号的前面点一下,出来一个红色的亮圆就是断点,还是建议楼主去看看VS帮助文档先
Microtigers 2009-05-06
  • 打赏
  • 举报
回复
断点跟踪怎么做,不会.
zllking 2009-05-06
  • 打赏
  • 举报
回复
设置断点跟踪进去调试看看

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧