.NET 请问SQL语句运行成功,但是不能修改数据库的值呢

qq_28051245 2016-12-26 11:08:00
我把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() + "'";
打印出来,和我要的数据是一样的,但是到数据库里面一看,数据没有改成功,这是为什么呢,表名和列名没有出错,这是为什么呢?

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)
{
}
}
}
...全文
256 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_28051245 2016-12-26
  • 打赏
  • 举报
回复
引用 4 楼 Chinajiyong 的回复:
你都没执行sql啊,加一句 cmd.ExecuteNonQuery();
好了,我是用mycnn.updatedata(sql);来执行的,,之前不是很理解,现在明白了
Moses_john 2016-12-26
  • 打赏
  • 举报
回复
学习学习
EnForGrass 2016-12-26
  • 打赏
  • 举报
回复
你都没执行sql啊,加一句 cmd.ExecuteNonQuery();
欧皇神降术 2016-12-26
  • 打赏
  • 举报
回复
你只执行了Select语句 你后面的UPDATE 语句并没有执行
欧皇神降术 2016-12-26
  • 打赏
  • 举报
回复
你这只定义了SQL 没有执行啊
MoshangYanYu 2016-12-26
  • 打赏
  • 举报
回复
加断点调试一下,把生成的SQL语句放到数据库里面执行一下,看看有没有报错。

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧