打印出来,和我要的数据是一样的,但是到数据库里面一看,数据没有改成功,这是为什么呢,表名和列名没有出错,这是为什么呢?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Configuration;
using System.Web.Security;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using newclass;
using System.Data.SqlClient;
public partial class login : System.Web.UI.Page
{
mymyclass mycnn = new mymyclass("Mydata");
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Login_Click(object sender, EventArgs e)
{
if (User_Id.Text.ToString() == "")
{
Response.Write("<script>alert('" + "用户名不能为空!" + "');</script>");
}
else if (User_Password.Text.ToString() == "")
{
Response.Write("<script>alert('" + "用户密码不能为空!" + "');</script>");
}
else if (!(RadioButton1.Checked) && !(RadioButton2.Checked) && !(RadioButton3.Checked))
{
Response.Write("<script>alert('" + "用户角色不能为空!" + "');</script>");
}
else
{
RadioButton();
}
}
public void RadioButton()
{
string Id = User_Id.Text;
string Password = User_Password.Text;
string id = "";
string name = "";
string password = "";
string logintime_now="";
string time = DateTime.Today.Year + "年" + DateTime.Today.Month + "月" + DateTime.Today.Day + "日" + DateTime.Now.ToLongTimeString();
string sql = "";
mycnn.open();
//学生登录
if (RadioButton1.Checked)
{
sql = "select S_id,S_password,S_name,S_logintime_now from User_Student where S_id='" + Id + "'and S_password='" + Password + "'";
SqlDataReader dr = mycnn.GetDataReader(sql);
while (dr.Read())
{
id = dr["S_id"].ToString();
name = dr["S_name"].ToString();
password = dr["S_password"].ToString();
logintime_now = dr["S_logintime_now"].ToString();
}
mycnn.close();
if (id != "" && password != "")
{
Session["id"] = id;
Session["name"] = name;
Session["password"] = password;
Session["RoleName"] = RadioButton1.Text.ToString();
//如果登录成功,将S_logintime_now传给S_logintime_last,将当前时间传给S_logintime_now
//出错,sql语句编辑成功,但是不是修改数据库,可能找不到表
sql = "update User_Student set S_logintime_last='" + logintime_now.ToString() + "',S_logintime_now='" + time.ToString() + "' where S_id='" + id.ToString() + "'and S_name='" + name.ToString() + "'";
Response.Write("<script>alert('用户名和密码正确')</script>");
//如果没有传URL参数,默认登录成功之后跳转的设定网页,否则跳转到传来URL的页面
if (string.IsNullOrEmpty(Request.QueryString["URL"]))
{
Server.Transfer("~/Common/first.aspx");
}
else {
Response.Redirect(Request.QueryString["URL"]);
}
}
else
{
Response.Write("<script>alert('用户名、密码或者验证码错误')</script>");
}
}
//教师登录
else if (RadioButton2.Checked)
{
}
//管理员登录
else if (RadioButton3.Checked)
{
}
}
}
6 个解决方案
#1
加断点调试一下,把生成的SQL语句放到数据库里面执行一下,看看有没有报错。
#2
你这只定义了SQL 没有执行啊
#3
你只执行了Select语句 你后面的UPDATE 语句并没有执行
#4
你都没执行sql啊,加一句
cmd.ExecuteNonQuery();
cmd.ExecuteNonQuery();
#5
学习学习
#6
好了,我是用mycnn.updatedata(sql);来执行的,,之前不是很理解,现在明白了
#1
加断点调试一下,把生成的SQL语句放到数据库里面执行一下,看看有没有报错。
#2
你这只定义了SQL 没有执行啊
#3
你只执行了Select语句 你后面的UPDATE 语句并没有执行
#4
你都没执行sql啊,加一句
cmd.ExecuteNonQuery();
cmd.ExecuteNonQuery();
#5
学习学习
#6
好了,我是用mycnn.updatedata(sql);来执行的,,之前不是很理解,现在明白了