你好!
   麻烦大家帮我看一下代码,为什么添加时总是“添加失败”呢!谢谢!
出错代码如下:    /// 配置数据库连接字符串
/// </summary>
public static string ConnectionString=ConfigurationSettings.AppSettings["ConnectionString"];
#endregion  #region  执行SQL语句,返回Bool值
/// <summary>
/// 执行SQL语句,返回Bool值
/// </summary>
/// <param name="sql">要执行的SQL语句</param>
/// <returns>返回BOOL值,True为执行成功</returns>
public bool ExecuteSQL(string sql)
{
SqlConnection con=new SqlConnection(DataAccess.ConnectionString);
SqlCommand cmd=new SqlCommand(sql,con);
try
{
con.Open();
cmd.ExecuteNonQuery();
return true;
}
catch
{
return false;
}
finally
{
con.Close();
con.Dispose();
cmd.Dispose();
}
}
#endregionprivate void button1_Click(object sender, System.EventArgs e)
{
  string stuID=this.userXH.Text.Trim();
  string stuPWD=this.userPWD.Text.Trim();
  string stuName=this.userName.Text.Trim();
  string stuSex=this.userXB.SelectedItem.ToString();
          string stuClass=this.userXY.SelectedItem.ToString();
  string stuTEL=this.userDH.Text.Trim();
  string stuAddress=this.userDZ.Text.Trim();
  System.DateTime  dt1=this.userSR.Value;
  System.DateTime dt=dt1.Date;
if(stuID=="")
{
MessageBox.Show("学号不能为空");
}
else if(stuPWD=="")
{
MessageBox.Show("密码不能为空");
}
else if(stuName=="")
{
MessageBox.Show("姓名不能为空");
}
else
{
DataAccess ds=new DataAccess();
string sql="insert into  student (stuid,name,password,sex,class,tel,address,btime) values ('"+stuID+"','"+stuName+"','"+stuPWD+"','"+stuSex+"','"+stuClass+"','"+stuTEL+"','"+stuAddress+"','"+dt+"')";
if(ds.ExecuteSQL(sql))
{
MessageBox.Show("添加成功");
this.Close();
   
}
else
{
MessageBox.Show("添加失败");
}
}
}
}
}

解决方案 »

  1.   

    insert into  student (stuid,name,password,sex,class,tel,address,btime) values ('"+stuID+"','"+stuName+"','"+stuPWD+"','"+stuSex+"','"+stuClass+"','"+stuTEL+"','"+stuAddress+"','"+dt+"')
    =====================================
    你的stuid是什么类型,如果是自增的话,就不能做这样的插入了。
      

  2.   

    应该是你的语句的问题,如果字段数据类型是字符型的话,则后面的字段需要加上单银号,但是如果为数字就不能增加了。你可以用TRY CATCH捕获一下详细的错误信息。然后就知道原因了。
      

  3.   

    好像是这里句出错了
      string stuSex=this.userXB.SelectedItem.ToString();
              string stuClass=this.userXY.SelectedItem.ToString();
    怎么不能把所选中的内容赋值给变量。这是为什么呢