在C#中用户名检测语句在输入中文时可以使用,输入英文时却提示用户代码未处理formatexception,为什么
如图上的代码,划线部分出错。同一段代码在另一个数据库的另一个网页程序中就中英文都可以识别。求教如何改正...
如图上的代码,划线部分出错。同一段代码在另一个数据库的另一个网页程序中就中英文都可以识别。求教如何改正
展开
1个回答
展开全部
象下面这样,然后将断点断在ExecuteScalar函数上,看在输入英文的时候返回了什么结果。
object scalar = cmd.ExecuteScalar();
Debug.WriteLine("数据返回结果:" + scalar);
int i = Convert.ToInt32(scalar);
object scalar = cmd.ExecuteScalar();
Debug.WriteLine("数据返回结果:" + scalar);
int i = Convert.ToInt32(scalar);
追问
我仔细试了几次,发现问题不是在英文上,英文也是可以的,只是在数据库已经有的同名的用户时会发生错误,在不同名时,就正常。简单地说,监测不存在可以,监测存在就发生错误,希望给以指正,谢谢!
追答
从你代码表达的意思,你想使用的是"select count(*) ..."
你最好按我前面说的办法使用单步执行的办法来执行一次,查看ExecuteScalar的返回值,然后这个返回值是否可以使用ToInt32转为数值。自己动手这么做一次,记忆会深刻一些。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询