SQLCommand中的语句是
INSERT INTO studentTable
      (studentId, studentName, password, roomNumber, telephone, QQ, studentSex, 
      [E-Mail])
VALUES (@studentId, @studentName, @password, @roomNumber, @telephone, @QQ, 
      @studentSex, @E - Mail)
保存按钮的代码是
private void Button1_Click(object sender, System.EventArgs e)
{
conn.Open();
cmd.Parameters.Add("@studentId","'" + txtstuId.Text.Trim() + "'");
cmd.Parameters.Add("@studentName","'" + txtstuName.Text.Trim() + "'");
cmd.Parameters.Add("@password","'" + txtPassword.Text.Trim() + "'");
cmd.Parameters.Add("@roomNumber","'" + txtroomNumber.Text.Trim() + "'");
cmd.Parameters.Add("@telephone","'" + txtTelephone.Text.Trim() + "'");
cmd.Parameters.Add("@QQ","'" + txtQQ.Text.Trim() + "'");
cmd.Parameters.Add("@studentSex","'" + DropDownList1.SelectedValue + "'");
cmd.Parameters.Add("@E-Mail","'" + txtMail.Text.Trim() + "'");
cmd.ExecuteNonQuery();
conn.Close();
}记录还是保存不到数据库,我打开事件探查器看 根本就不执行 update 语句
是什么原因阿?
大家再帮忙看看!谢谢!

解决方案 »

  1.   

    不知道 对不对啊 VALUES (@studentId, @studentName, @password, @roomNumber, @telephone, @QQ, 
    @studentSex, @E - Mail)
    E-Mail 怎么有空格  是不是我看错了
      

  2.   

    建议你把代码改成如下的写法:
    string str = "INSERT INTO studentTable
          (studentId, studentName, password, roomNumber, telephone, QQ, studentSex, 
          [E-Mail])
    VALUES (@studentId, @studentName, @password, @roomNumber, @telephone, @QQ, 
          @studentSex, @E - Mail)
    "
    保存按钮的事件如下写法:
    private void Button1_Click(object sender, System.EventArgs e)
    {
    conn.Open();
    cmd.Parameters.Add("@studentId","'" + txtstuId.Text.Trim() + "'");
    cmd.Parameters.Add("@studentName","'" + txtstuName.Text.Trim() + "'");
    cmd.Parameters.Add("@password","'" + txtPassword.Text.Trim() + "'");
    cmd.Parameters.Add("@roomNumber","'" + txtroomNumber.Text.Trim() + "'");
    cmd.Parameters.Add("@telephone","'" + txtTelephone.Text.Trim() + "'");
    cmd.Parameters.Add("@QQ","'" + txtQQ.Text.Trim() + "'");
    cmd.Parameters.Add("@studentSex","'" + DropDownList1.SelectedValue + "'");
    cmd.Parameters.Add("@E-Mail","'" + txtMail.Text.Trim() + "'");
    cmd.CommandText = str;
    cmd.ExecuteNonQuery();
    conn.Close();
    }
    其实你就是少写了cmd.CommandText=str;这句话,你都没指写CommandText的执行语句是什么,程序怎么会把数据保存到数据库里。记得给分哦。