在C#中读取下拉列表框并向SQL数据库返回值的问题

来源:百度知道 编辑:UC知道 时间:2024/06/17 19:01:40
//一下是我的部分代码,
//向班级下拉列表框添加数据库中的数据
try{//查询班级的SQL语句
string sql="select ClassId from Class";
//定义Command对象
SqlCommand command = new SqlCommand(sql, DBHelper.connection);
//打开数据库
DBHelper.connection.Open();
//执行查询
SqlDataReader dataReader = command.ExecuteReader();
int classId=0;//班级编号
//循环读出所有年级名,并添加到年级组合框中
while (dataReader.Read())
{
classId = (int)dataReader["ClassId"];//数据库中的ClassId是int型的
cboClass.Items.Add(classId);//cboClass是班级下拉列表框的名字
}
dataReader.Close();
}catch (Exception se)
{
MessageBox.Show("操作数据库出错");
Console.WriteLine(se.Message);
}finally{
DBHelper.connection.Close();
}
}
private void btnSave_Click(object sender, EventArgs e)
{
//前面加txt的都为控件的名称
string loginId = txtLoginId.Text;//用户名
string loginPwd = txtLoginPwd.Text;//密码
//根据选择的状态设置状态Id,该Id值存放在控件的Tag属性中
string userStateId = rdoActive.Che


classId = (int)dataReader["ClassId"];//数据库中的ClassId是int型的
cboClass.Items.Add(classId);//cboClass是班级下拉列表框的名字
改为
classId = (int)dataReader["ClassId"];//数据库中的ClassId是int型的
cboClass.Items.Add(classId+"");//cboClass是班级下拉列表框的名字
试试.
可能是Add属性不能插入Int

既然你的classid是int型的,那为什么又声明一个string型的classid?
string ClassID = cboClass.Text;

类型不对,插入数据自然会报错,建议楼主认真检查程序中各个变量的类型,确保和数据库里的相应字段的类型一致。

把更详细的出错代码贴出来看看