2 qq 37231612 qq_37231612 于 2017.01.02 17:23 提问

我是一个新手,才学JDBC没多久,想做一个登录功能,可是我找不到原因,求大神指点指点!!

private static void LoginAdmin(){
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Connection conn = null;
PreparedStatement ps = null;

    try {
        conn = DriverManager.getConnection("jdbc:sqlserver://localHost:1433;databaseName=MySchool","sa","sqlpass");
        String id = "zl";
        String pwd = "1234";
        String sql = "select Count(*) as login from Admin where LoginId = ? and LoginPwd = ?";
        ps = conn.prepareStatement(sql);
        ps.setString(1, id);
        ps.setString(2, pwd);

        int r = ps.executeQuery();           //这里报不能从结果集转换为int
        System.out.println(r == 1 ? "登录成功!" : "登录失败!");
    } catch (SQLException e) {
        e.printStackTrace();
    }finally{
        if(ps != null){
            ps.close();
        }
        if(conn != null){
            conn.close();
        }
    }
}

7个回答

LD0807
LD0807   2017.01.02 17:28
已采纳

ResultSet rs=ps.executeQuery();
if(rs.next()){System.out.println("登陆成功")}else{System.out.println("登陆失败");}
可以参考我的博客http://blog.csdn.net/ld0807/article/details/53976180或者http://www.banzg.com/archives/104.html

huangfan322
huangfan322 ResultSet executeQuery() throws SQLException; 返回是 ResultSet。你的int基本类型能不错吗??
一年多之前 回复
LD0807
LD0807 回复caozhy: 没仔细看sql,你是对的
一年多之前 回复
LD0807
LD0807 回复caozhy: 人家是要select的数据中看是否有用户,rs.next()就是有没有下一条啊。你那么写直接get出来东西么?无语
一年多之前 回复
caozhy
caozhy 这回答明明是错的
一年多之前 回复
Ro_bot
Ro_bot   2017.01.02 17:29

缺少 SQLServerDriver 的 jar 包

Ro_bot
Ro_bot prepareStatement.executeQuery() 返回值是 ResultSet 类型
一年多之前 回复
Ro_bot
Ro_bot 不好意思,没看清题意,忽视本回答
一年多之前 回复
baidu_36779925
baidu_36779925   2017.01.02 17:33

结果集返回的是ResultSet类型。然后从这里面get Int。

caozhy
caozhy   Ds   Rxr 2017.01.02 17:26

int r = ps.executeQuery(),getInt(1);

qq_37231612
qq_37231612   2017.01.02 17:31

我脑子笨,能不能详细点

LD0807
LD0807   2017.01.02 17:29
qq_37231612
qq_37231612   2017.01.02 17:32

问题解决,谢谢各位大神!!!!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
老师给我的指点——深刻剖析了我
今天上午找导师有事,导师坐下来和我聊了聊。 他说,就他的观察,我有以下几个方面的问题。 一、感觉我在做事上总是欠缺那么一点东西。 就是说,给我的事情,我是能做完也让别人没法批评我,但是总感觉欠缺一点东西,相比师妹,每次给任务1分可以做完1.2分,而我每次都是0.8分。 虽然无可厚非,但是总感觉少点什么。他说,以我这样的方式,以后去工作单位了,领导虽然也不会讲我什么,但是如果
java题库8
1. 一个没有实现Serializable接口的父类,编写一个能够序列化的子类 ,只要父类实现了序列化的接口,或者,子类实现了序列化的接口就可以序列化 “transient”——“瞬态”,先不说这个翻译是否恰当,这个变量关键字一直不曾使用,简单的说就是被瞬态定义的变量不可序列号。或者这么给他换个名字——“不可序列化状态”。 打个比方,如果一个用户有一些敏感信息(譬如密码,银行卡号等),为了安
新手入门,学习java从小白到大神应该从何做起?
编程入门先学什么?关于编程,关于编程的基础语言,想要学习的朋友,一定会多多少少了解一些。像 C、C++、Python和Java四种都是通用的编程语言,而JavaScript和PHP算是Web环境的专用编程语言。但其实,编程的语言有很多种,想要入门编程,要学习的编程语言也很多。在这里我就简单总结下编程入门的一系列学习方法。        上面我们提到,学习编程的语言有很多种,像C、C++、Pyth
我写的一个url
我写的url,请大神指点,功能有限,献丑了,谢谢
枚举类在switch...case语句中使用的问题
问题记录: 在开发过程当中,需要对一个Integer的值进行switch操作,case的值是枚举类型的retCode属性(该属性为Integer类型),编译器报错case expressions must be constant expressions。 //报错代码: Integer i = 0; switch (i) { case TransactType.TRANSACT
你若是天才,我便是疯子————ACM一年总结
自金华邀请赛结束后便一直有写这总结的想法了,不过当时却没想那么远,只想做一下个小汇总,让自己明白自己在哪里有所不足,还能继续前进。校赛过后,又隔了一个星期,终于开始提笔了,借着world final 结束之时,我想为自己的ACM之路做个更加彻底的全面的总结。    有不少人问过我是否以前弄过计算机竞赛,我也承认,我弄过,大概一年,就在高二的时候吧,但是和我同读高中的同学都会知道,所谓的一
ubuntu 14.04 下 启用thinpad指点杆
(1)禁用触控板--注:这是可选项,根据个人需要进行选择 建议进入BIOS进行禁用。 大家型号有不同,进入方法自行掌握,我这个是按F1进入。 说一下,我这个BIOS的设置步骤: Config->Keyboard/Mouse->Touch Pad->Disabled (2)为Trackpoint安装驱动程序 在终端中输入:sudo agt-get install gpointing-
LINUX下ThinkPad指点杆设置
修改/etc/X11/xorg.conf即可Section "InputDevice"    Identifier  "Configured Mouse"    Driver      "mouse"    Option      "CorePointer"    Option      "Device" "/dev/input/mice"    Option      "Protocol
iccavr7.18
该软件有朋友推荐,我是新手,还不会用,让各位大虾指点指点。
人事资源管理系统
SSH框架+MySQL做的一个人事管理系统,需要的可以借鉴下,不足之处求大神指点