| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 467 人关注过本帖
标题:请问这个代码哪里有错,怎么改?
只看楼主 加入收藏
lynnjing
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-5-23
收藏
 问题点数:0 回复次数:8 
请问这个代码哪里有错,怎么改?

请问这个代码哪里有错,怎么改?谢谢!
protected void LoginButton_Click(object sender, EventArgs e)
{

string username = Request.Form["UserName"];
string userpwd = Request.Form["Password"];
OleDbConnection con = DB.createCon();
con.Open();
OleDbCommand cmd = new OleDbCommand("select * from [user] where username='" + username + "'and userpwd='" + userpwd + "'", con);
int count = Convert.ToInt32(cmd.ExecuteScalar());
if (count > 0)
{
Response.Redirect("main.aspx");
}

}

执行后:
“/WebSite2”应用程序中的服务器错误。
--------------------------------------------------------------------------------

输入字符串的格式不正确。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.FormatException: 输入字符串的格式不正确。

源错误:


行 39: con.Open();
行 40: OleDbCommand cmd = new OleDbCommand("select * from [user] where username='" + username + "'and userpwd='" + userpwd + "'", con);
行 41: int count = Convert.ToInt32(cmd.ExecuteScalar());
行 42: if (count > 0)
行 43: {


[此贴子已经被作者于2007-5-23 20:56:00编辑过]

搜索更多相关主题的帖子: 代码 代码 
2007-05-23 20:55
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
int count = Convert.ToInt32(cmd.ExecuteScalar().ToString());

飘过~~
2007-05-24 10:19
rainic
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2367
专家分:0
注 册:2005-8-9
收藏
得分:0 
OleDbCommand cmd = new OleDbCommand("select * from [user] where username='" + username + "'and userpwd='" + userpwd + "'", con);
改成下面
OleDbCommand cmd = new OleDbCommand("select COUNT(*) from [user] where username='" + username + "'and userpwd='" + userpwd + "'", con);

我猜楼主是想这样做

2007-05-24 10:47
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
也许LZ的数据表中的第一列是数字型..嘿嘿

飘过~~
2007-05-24 12:39
lynnjing
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-5-23
收藏
得分:0 

以上各位提供的方法我都试过了,可还是不行啊

2007-05-24 13:40
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
呵呵
你加个try..catch..不就知道问题出在哪里了吗?

飘过~~
2007-05-24 15:34
初学Delphi
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:330
专家分:0
注 册:2006-4-4
收藏
得分:0 

LZ的意思是返回影响的行数么?
感觉不如用dataset 好用

2007-05-24 15:39
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
收藏
得分:0 
ExecuteScalar : 执行查询,并返回查询所返回的结果集中第一行的第一列。理论上3楼的方法是可行的.

不过....楼主这种登陆验证的方式不怎么好...

2007-05-24 15:41
初学Delphi
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:330
专家分:0
注 册:2006-4-4
收藏
得分:0 

我也不知道是什么意思
如果是返回第一行第一列的话 楼住的错误就不是一点半点了

查询的是符合条件的结果 如果想用这个方法sql语句换成count(*)
如果查询语句不变
用dataset
如果还想用command那就用if(dr.read())

2007-05-24 15:49
快速回复:请问这个代码哪里有错,怎么改?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017618 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved