日期:2014-05-17  浏览次数:20481 次

dropdownlist控件添加后无法保存数据
麻烦大神看下,为何保存总是出错?
这个是类里的相关的
  public bool SaveUserInfo(string strID, string strUserName, string strPwd, int iSex, int iAge,string strDes,string strPosition)
  {
  string strComm = @"insert into [tabUsersInfo](ID,UserName,Pwd,Sex,Age,IsManager,Descripition,Position) 
  values(@ID,@UserName,@Pwd,@Sex,@Age,@IsManager.@Descripition,@Position)";

  SqlConnection sqlConn = this.GetSqlServerConn(); //调用GetSqlServerConn()方法获得数据库连接

  SqlCommand sqlComm = new SqlCommand(); //生成数据库命令操作对象
  try
  {

  sqlComm.CommandText = strComm; //指定要执行的SQL命令

  sqlComm.Connection = sqlConn; //指定要使用的SQL连接

  sqlComm.Parameters.AddWithValue("@ID", strID); //为SQL命令的参数赋值
  sqlComm.Parameters.AddWithValue("@UserName", strUserName);
  sqlComm.Parameters.AddWithValue("@Pwd", GetMD5(strPwd));
  sqlComm.Parameters.AddWithValue("@Sex", iSex);
  sqlComm.Parameters.AddWithValue("@Age", iAge);
  sqlComm.Parameters.AddWithValue("@Descripition", strDes);
  sqlComm.Parameters.AddWithValue("@Position", strPosition);
  sqlComm.ExecuteNonQuery(); //执行SQL命令
  return true;
  }
  catch (Exception ex)
  {
  return false;
  }
  finally
  {
  this.CloseSqlServerConn(sqlConn); //调用方法关闭数据库
  }
  }




程序中调用
bool bResult = dc.SaveUserInfo(txtID.Text.Trim(), txtUserName.Text.Trim(), txtPwd.Text.Trim(), int.Parse(rdlSex.SelectedItem.Value.Trim()), int.Parse(txtAge.Text),ddlDes.SelectedItem.ToString(),ddlPosition.SelectedItem.ToString() );
  if (bResult)
  {
  Response.Write("<script>alert('保存成功!');window.location.href = 'center.aspx';</script>");
  }
  else
  {
  Response.Write("<script>alert('保存失败!')</script>");
  }



之前没有加dropdownlist控件时可以保存的,添加一个后保存不了了,不知道是怎么回事?

------解决方案--------------------
ddlDes.SelectedValue,用这个属性试试。。
------解决方案--------------------
是否写 了 IspostBack 
或者是你 droplistdrown 里面 text value 一个没写。
 我以value 没写 也是每次提交都是第一条数据
------解决方案--------------------
bool bResult = dc.SaveUserInfo(txtID.Text.Trim(), txtUserName.Text.Trim(), txtPwd.Text.Trim(), int.Parse(rdlSex.SelectedItem.Value.Trim()), int.Parse(txtAge.Text),ddlDes.SelectedItem.Text.ToString(),ddlPosition.SelectedItem.Text.ToString() );
if (bResult)
{
Response.Write("<script>alert('保存成功!');window.location.href = 'center.aspx';</script>");
}
else
{
Response.Write("<script>alert('保存失败!')</script>");
}


------解决方案--------------------
设置断点SaveUserInfo()这个方法里
然后F5运行程序
------解决方案--------------------
改成ddlDes.SelectedValue试试
还有报什么错误?下面这些都是正确的值吗?
txtID.Text.Trim(), txtUserName.Text.Trim(), txtPwd.Text.Trim(), int.Parse(rdlSex.SelectedItem.Value.Trim()), int.Parse(txtAge.Text),ddlDes.SelectedItem.Text.ToString(),ddlPosition.S