这是实现对学员信息修改的功能如下图:
点击修改后,会出现右面的图示
下面是代码:
public static void OperateData(string strsql) //这个是修改函数,用于下面的调用
{
SqlConnection conn = DBCon();//创建数据库连接对象
conn.Open();//打开数据库连接
SqlCommand cmd = new SqlCommand(strsql, conn);//创建SqlCommand命令对象
cmd.ExecuteNonQuery();//执行SqlCommand命令
conn.Close();//关闭数据库连接
}
public partial class 用户_修改学员信息 : System.Web.UI.Page
{
private static int id;
protected void Page_Load(object sender, EventArgs e)
{
if (Session["管理员"] == null)
{
Response.Redirect("../Login.aspx");
}
if (!IsPostBack)
{
id = Convert.ToInt32(Request.QueryString["ID"]);
SqlConnection conn = BaseClass.DBCon();
conn.Open();
SqlCommand cmd = new SqlCommand("select * from 学员表 where ID=" + id, conn);
SqlDataReader sdr = cmd.ExecuteReader();
sdr.Read();
txtName.Text = sdr["学员名"].ToString();
txtNum.Text = sdr["ID"].ToString();
txtPwd.Text = sdr["学员密码"].ToString();
rblSex.SelectedValue = sdr["学员性别"].ToString();
sdr.Close();
conn.Close();
}
}
protected void btnSava_Click(object sender, EventArgs e)
{
if (txtName.Text.Trim() == "" || txtPwd.Text.Trim() == "" || txtNum.Text.Trim()=="")
{
MessageBox.Show("请将信息填写完整");
return;
}
else
{
string str = "update 学员表 set ID='" + txtNum.Text.Trim() + "', 学员名='" + txtName.Text.Trim() + "',学员密码='" + txtPwd.Text.Trim() + "',真实姓名='" + TextBox1.Text.Trim() + "',受理点ID='" + TextBox2.Text.Trim() + "',学员备注='" + TextBox3.Text.Trim() + "',学员性别='" + rblSex.SelectedItem.Text + "',允许折扣比例='" + RadioButtonList1.SelectedValue.ToString() + "',是否允许欠费='" + RadioButtonList2.SelectedValue.ToString() + "',是否允许退费='" + RadioButtonList3.SelectedValue.ToString() + "' where ID=" + id;
BaseClass.OperateData(str); //貌似这个方法没有调用
Response.Redirect("学员信息.aspx");
}
}
当我信息修改完成胡后,点击保存,但是还是没有完成修改,其中也没有提示错误,
请问有什么解决的方法??
这和MVC有嘛关系?
把你最后生成的sql语句copy出来,直接在sql server 中执行下,看有没有更新到行吧!
不行,这样都试过了,sql语句没有问题。
@学习的小鸽: 现在是不确定您的sql是否有效。首先你可确定程序运行不会报错,然后再copy出sql执行下看是否正确,最后确认你的where条件是否存在对应的行,即你直接执行sql后是否有影响行
欢迎加入.Net高级部落173844862
先设断点看看是不是语句没有执行,应该不会没有执行,再看一下sql语句对否,可以拿到数据库直接更改看是不是正确。
不行,这样都试过了,sql语句没有问题。
@学习的小鸽: 你设断点调试过吗,执行到数据库的时候返回值是什么?cmd.ExecuteNonQuery();//执行SqlCommand命令有返回值的