private void deptcomboBox_SelectedIndexChanged(object sender, EventArgs e)
{
using (SqlConnection cn = new SqlConnection(mysettings.Localsql))
{
cn.Open();
string query = "select tuser.userid,tuser.username from tuser where tuser.deptid = " + int.Parse(deptcomboBox.SelectedValue.ToString());
SqlDataAdapter da = new SqlDataAdapter(query, cn);
DataTable dt = new DataTable();
da.Fill(dt);
chargeBox.DataSource = dt;
chargeBox.DisplayMember = "username";
chargeBox.ValueMember = "userid";
}
}上面时我的联动代码,可以正常联动,但是奇怪的是不管我是否动了第一个deptcomboBox,只要一关闭窗体(点窗口关闭按钮)或者dispose(),就会在 string query = "..." 这一句上报:未将对象引用设置到对象的实例;如果该窗口只是close()的话,则不会报错,怎么回事呢?
解决方案 »
- 设置 FormBorderStyle.None 时,子窗体首次加载不能最大化。
- datagridview 中 复选框问题
- C#winform有什么好的针对dataGridView的分页控件吗?(海量数据)像asp.net中的AspNetPager那样的控件
- 在 System.InvalidOperationException 中第一次偶然出现的“System.Windows.Forms.dll”类型的异常
- sql问题,三个表连接,高手帮忙
- udpclient通讯问题,详见内容
- 如何利用多CPU是提高性能
- 请教dataGrid中怎么把一列每项都加上%号?
- 问题标签用户 vs加载第三方动态库,调试模式能正常读取,但是单独执行exe,读卡出现问题!
- 今天心情好,散分!!!!!!!!!!!!!!!
- 在线等 关于保存datagridview修改后的数据
- 怎么显示下面的数据
下试试如果还是不行的话,你可以做好异常了.
只要窗口不关闭,我调整deptcomboBox,deptcomboBox.SelectedValue都会有值,但窗口一关,从局部变量窗口里观察发现deptcomboBox.SelectedValue竟然变成-1了。为什么值不会一直保留呢?怪,真怪
if(deptcomboBox.SelectedValue!=null &&deptcomboBox.SelectedValue>0)改成这样。
“=”在C#中是赋值符,不是相等运算符。
至于说为什么不能比较,很简单了,SelectedValue是Object类型,实际类型需要你自己确定,不能与int比较那是很自然的(除非本来是int的,还可以转换为int后再比较)。