| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1137 人关注过本帖
标题:求教:Java中怎样连接数据库?
只看楼主 加入收藏
sxzxwxf22
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-3-7
收藏
 问题点数:0 回复次数:11 
求教:Java中怎样连接数据库?
Java中怎样跟数据库连接,比如说,我在数据库中用access建一个表,把它存在桌面上命名为DataBase1,表中存放用户名和密码.现在我要用Java来查找打印出所有的用户名和密码,这程序该怎么写?
下面是我按照《Think in Java》中的程序改写的,运行不行,我有几个问题注在程序上,能不能帮我解释一下
import java.sql.*;
public class Lookup
{
public static void main(String[] args) throws SQLException,ClassNotFoundException
{
String dburl="jdbc:odbc:DataBase1";//这是不是一定要用odbc?
String user="";
String password="";
Class.forName("sun.jdbc.odbc.JdbcOdbcDiver");//这一句是什么意思,什么作用?
Connection c=DriverManager.getConnection(dburl,user,password);
Statement s=c.createStatement();//???
ResultSet r=s.executeQuery("SELECT 用户名,密码"+"FROM DataBase1.csv DataBase1");//这里的csv是什么意思?我是改书上的
while(r.next())
{
System.out.println(r.getString("用户名")+","+r.getString("密码"));
}
s.close();
}
}

辛苦了,谢谢!!!
搜索更多相关主题的帖子: 数据库 Java 
2007-03-09 21:36
风月_无边
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:60
帖 子:2960
专家分:652
注 册:2007-1-19
收藏
得分:0 
from后面为表名就可以了  .

我的网站 http://www.
2007-03-09 22:22
sxzxwxf22
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-3-7
收藏
得分:0 
谢谢了,不过还是不行
下面是异常:
Exception in thread "main" java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcO
dbcDiver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at Lookup.main(Lookup.java:9)
我看不懂。
数据源那也发布过了

2007-03-09 22:50
sxzxwxf22
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-3-7
收藏
得分:0 

上面好像是sun.jdbc.odbc.JdbcOdbcDriver打错了
不过现在改了后
又出现
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 参数不足,期待
是 2。
这是不是表示数据源有问题,我就是按照方式发布的

2007-03-09 23:03
fqj793
Rank: 1
等 级:新手上路
威 望:2
帖 子:228
专家分:0
注 册:2006-12-9
收藏
得分:0 

不知你的数据源是不是创建好了,而且select 语句后面的from只要跟你的表名就可以了呀,不要这样呀DataBase1.csv DataBase1


知识改变命运!!!
2007-03-09 23:28
sxzxwxf22
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-3-7
收藏
得分:0 
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("driver is ok");
Connection c=DriverManager.getConnection(dburl,user,password);
System.out.println("conection is ok");
Statement s=c.createStatement();
ResultSet r=s.executeQuery("SELECT 用户名,密码 FROM DataBase1");

这是我改过的,
driver is ok;
conection is ok
这两句还能执行出来,
下面就出现异常了。异常就像上面那样java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 2。

像这样,是不是说明已经打开数据库了?





2007-03-09 23:40
fqj793
Rank: 1
等 级:新手上路
威 望:2
帖 子:228
专家分:0
注 册:2006-12-9
收藏
得分:0 

楼上的兄弟,你的dburl是什么值呀?
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:TestData";//TestData是你的数据源,需要在ODBC中的系统DSN中新建的.
String username="";
String password="";
Connection con=DriverManager.getConnection(url,username,password);
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from Users");//Users是你的数据库中的表名

这样操作是没有问题的呀!


知识改变命运!!!
2007-03-10 09:28
sxzxwxf22
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-3-7
收藏
得分:0 
谢谢兄弟们,我已经弄好了,昨天因为SQL Server不能用才用Access,今天用SQL Server一下就搞好了。谢谢大家的帮忙!
不过到现在还不知道为什么用Access连不上?

2007-03-10 12:41
sxzxwxf22
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-3-7
收藏
得分:0 
还有想问一下有没有不用发布,直接动态连接数据库的?

2007-03-10 12:42
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
应该没有

可惜不是你,陪我到最后
2007-03-10 12:57
快速回复:求教:Java中怎样连接数据库?
数据加载中...
 
   



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

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