2.编写数据库访问程序:在程序中首先要加载驱动,其次要建立连接,再次创建用于访问数据库的Statement对象,然后利用Statement对象访问数据库
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)
String url="jdbc:odbc:book"
String query="SELECT * FROM book1"
Connection c =DriverManager.getConnection( Url,user,password)
Connection con=DriverManager.getConnection(url)
Statement stmt =con.createStatement( );
ResultSet rs=stmt1.executeQuery(query)
建立连接之后,可以访问数据库,对数据库进行 *** 作。如查询、修改、删除。
连接使用完毕,可以调用close ( )方法关闭连接.
import java.sql.*
class SimpleSelect{
public static void main(String args[]){
String url="jdbc:odbc:book"
String query="SELECT * FROM book1"
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")
}
catch(java.lang.ClassNotFoundException e){
System.err.print("ERROR:")
System.err.print(e.getMessage())
}
//输出数据库中信息
try{
Connection con=DriverManager.getConnection(url)
Statement stmt=con.createStatement()
ResultSet r=stmt.executeQuery(query)
System.out.println("id:"+" "+"name"+" "+"price"+" "+"author"+""+"publish_name")
while(r.next()){
Long r1=r.getLong("id")
String r2=r.getString("name")
Double r3=r.getDouble("price")
String r4=r.getString("author")
String r5=r.getString("publish_name")
System.out.println(r1+""+r2+" "+r3+" "+r4+" "+r5)
}
r.close()
stmt.close()
con.close()
}catch(SQLException ex){
ex.printStackTrace()
}
}
楼上的这种问题我也遇到过,往往是设计网站界面视图的人没有考虑到所有的需求,提供的数据库查询不够灵活。确实有可能找到办法去访问这个数据库,不过应该提醒楼主,网站做界面的目的出了美观方便外,就是要限制用户不访问,所以通过非正常途径访问就要承担一定的责任了。
具体方法有:
1.理想方法:得到数据库的地址,例如楼上说的把mdb文件直接下载下来。当然很少有网站用access做数据库的,一般情况是需要知道数据库IP地址,数据库类型,库名,用户名和密码,然后通过toad等客户端软件来访问。
既然是理想方法,这种情况不太可能发生,除非你是内部人士,可以知道很多信息。因为通常数据库服务器会放在局域网上,不能被外部访问到。
2.实际方法:采用SQL注入等黑客技术。SQL注入是最简单的黑客技术了,不过由于简单威力也不会很大,要求网站设计对于安全的考虑不周,存在漏洞才行。
由于网站设计不周,就会在出错或者某些情况下暴露出数据库表结构的一些内幕,这样就可以写出你想要的SQL命令,把它插入到Web表单递交,或者页面请求的查询字符串中,最终达到欺骗服务器执行的目的。
如果楼主想了解更多,可以学学黑客知识,祝楼主好运!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)