C#中用一个字段记录登陆出错时的时间,为什么不对呢??可以帮忙看看这段代码吗? C#数据库sql 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DateTime.Now.Date.ToString("yyyyMMdd HH:mm:ss")如果不是这原因就要检查其他参数是否正确,数据库是否返回执行错误 if (i == 3) { MessageBox.Show("因密码输错次数过多,该账号已经被禁止输入,请与管理员进行联系"); this.btnLogin.Enabled = false; return; }你这不是直接就return了么,也没有执行数据库的方法啊 在数据库执行update语句,看行不行... 代码好乱,return太多.你最好在前面设一个标识bool中间用if语句判断这个标识最后只return一次不要遇到问题就return String s1 = "select ErrorCount from tb_User where UserID ='" +this.txtUserId.Text + "'";这是神一样的写法吗?两个双引号? 是要这样写的,为了在C#中执行sql语句 这句话没问题嗯,知道。你调试下,确定程序执行到你后面的更新语句没。sqlCmd.CommandText = "update tb_User set ErrorCount=" + count + ",LoginDate = '"+DateTime.Now.Date +"'where UserID = '" + this.txtUserId.Text + "'"; 这句代码where 前面加个空格 这句话没问题嗯,知道。你调试下,确定程序执行到你后面的更新语句没。sqlCmd.CommandText = "update tb_User set ErrorCount=" + count + ",LoginDate = '"+DateTime.Now.Date +"'where UserID = '" + this.txtUserId.Text + "'"; 这句代码where 前面加个空格原来的代码时不能执行到后面的更新语句的,因为if (i == 3) { MessageBox.Show("因密码输错次数过多,该账号已经被禁止输入,请与管理员进行联系"); this.btnLogin.Enabled = false; return; }这句话已经进行判断,return了。非常感谢 你在那个地方加个断点,然后查看输出的sql语句,把获得的sql语句放到查询分析器里面看看到底是哪里错了。帮你在控制台输出试了,sqlCmd.CommandText = "update tb_User set ErrorCount=" + count + ",LoginDate = '"+DateTime.Now.Date +"'where UserID = '" + this.txtUserId.Text + "'";红色的逗号为中文字符,在sql语句中是不合法的,应该改为英文逗号“,”。 sqlCmd.CommandText = "update [tb_User] set ErrorCount=" + count + ",LoginDate = '"+DateTime.Now.Date +"' where UserID = '" + this.txtUserId.Text + "'";试试看 像这种的,你最好里面以传参数的形式语句。例如: var str = @"Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST={0})(PORT={1}))(CONNECT_DATA=(SID={2})));User Id={3};Password={4};"; var strconnect = string.Format(str, oracleserver, oracleport, datasource, user, pwd);不然看起来好乱。。 textBox,如何实现因在控件中输入内容,而导致控件上更改Text属性的值时引发的事件。 如何判断ThreadPool中的线程运行完毕? 有谁能帮我解这道ACM,我都试了N次了 ConnectionOptions远程关机时用户空密码异常 请教:消息队列跨机器发消息 或者 如何创建“公共队列” 一个很困绕小弟的问题,高人进来看看哈 请问哪有公开提供的可供调用的Web Service? C#主程序中怎么实现暂停啊? webForm下的dropdownlist里面的值怎么会重复 200分求助!关于dll的循环调用问题 WPF下winform控件的创建问题 C# 如何捕获异常
DateTime.Now.Date.ToString("yyyyMMdd HH:mm:ss")如果不是这原因就要检查其他参数是否正确,数据库是否返回执行错误
{
MessageBox.Show("因密码输错次数过多,该账号已经被禁止输入,请与管理员进行联系");
this.btnLogin.Enabled = false;
return;
}
你这不是直接就return了么,也没有执行数据库的方法啊
你最好在前面设一个标识bool
中间用if语句判断这个标识
最后只return一次
不要遇到问题就return
这是神一样的写法吗?两个双引号?
原来的代码时不能执行到后面的更新语句的,因为
if (i == 3)
{
MessageBox.Show("因密码输错次数过多,该账号已经被禁止输入,请与管理员进行联系");
this.btnLogin.Enabled = false;
return;
}
这句话已经进行判断,return了。
非常感谢
帮你在控制台输出试了,
sqlCmd.CommandText = "update tb_User set ErrorCount=" + count + ",LoginDate = '"+DateTime.Now.Date +"'where UserID = '" + this.txtUserId.Text + "'";
红色的逗号为中文字符,在sql语句中是不合法的,应该改为英文逗号“,”。
var str =
@"Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST={0})(PORT={1}))(CONNECT_DATA=(SID={2})));User Id={3};Password={4};"; var strconnect = string.Format(str, oracleserver, oracleport, datasource, user, pwd);不然看起来好乱。。