急求高手的解答?(答者有分) 怎样将Java程序和SQL数据库连接在一起实现添加,修改,查询的功能?请问哪位高手能分别举例给我看看?(急) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 此回复为自动发出,仅用于显示而已,并无任何其他特殊作用楼主【rushygirl】截止到2008-06-23 20:36:00的历史汇总数据(不包括此帖):发帖数:0 发帖分:0 结贴数:0 结贴分:0 未结数:0 未结分:0 结贴率:-------------------结分率:-------------------如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html //import java.sql.*;import java.sql.Statement;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Connection;import java.sql.DatabaseMetaData;public class GetSQL{ public static void main(String[] args) { try { //jdbc-odbc桥连接 /* 新建一个数据库,为Test,再在其中新建一张表命名为Student,添加一些数据(方便观察效果),下面我们配置数据源 开始----控制面板----管理工具----数据源-----添加----选中“SQL Server”----完成 把默认的数据库改为Test。点“下一步”----完成----“测试数据源”,如果提示成功,OK,数据源配置好了! */ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();//加载驱动程序 String cnnStrURL="jdbc:odbc:Test";//数据库名 String cnnStrUID = "sa"; String cnnStrPWD = ""; Connection con = DriverManager.getConnection (cnnStrURL,cnnStrUID,cnnStrPWD); //获取数据库信息 DatabaseMetaData dma=con.getMetaData(); System.out.println("连接的数据库:"+dma.getURL()); System.out.println("Driver: "+dma.getDriverName()); System.out.println("Version: "+dma.getDriverVersion()); //查询初始数据表 System.out.println("初始数据表"); //System.err.p Statement stmt = con.createStatement(); ResultSet rst = stmt.executeQuery("select * from Student"); while(rst.next()) { System.out.println(rst.getString("stuID")+" "+rst.getString("stuName")+" "+rst.getString("stuSex")); } //插入数据 System.out.println("插入记录后"); stmt.executeUpdate("Insert into student Values('003','CCC','女')");// Where NOT EXISTS (Select * from student where stuID='003')"); rst = stmt.executeQuery("select * from Student"); while(rst.next()) { System.out.println(rst.getString("stuID")+" "+rst.getString("stuName")+" "+rst.getString("stuSex")); } //删除数据 System.out.println("删除记录后"); stmt.executeUpdate("Delete From student Where stuID='003'"); rst = stmt.executeQuery("select * from Student"); while (rst.next()) { System.out.println(rst.getString("stuID") + " " + rst.getString("stuName") + " " + rst.getString("stuSex")); } System.out.println("修改记录后"); stmt.executeUpdate("Update student set stuName='Mary' Where stuID='002'"); rst = stmt.executeQuery("select * from Student"); while (rst.next()) { System.out.println(rst.getString("stuID") + " " + rst.getString("stuName") + " " + rst.getString("stuSex")); } rst.close(); stmt.close(); con.close(); } catch(Exception e) { e.printStackTrace(); System.out.println("出错了"); } }} 你说的是用那一种数据库呢.是mysql,sql server,oracal,access,还是其他的数据库???? 对不起 我是初学者 所以比较迷惘! HELP?? 先要找个相应数据库的驱动程序。再写JDBC的代码。这样好像实现对初学者容易理解。 2楼代码挺好的。下个驱动,把相关连接的String内容该该应该就能成功 package com.mvc.model;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.naming.Context;import javax.naming.InitialContext;import javax.naming.NamingException;import javax.sql.DataSource;public class Conndb { private static Connection conn; private Statement st = null; private ResultSet rs = null; //private static DataSource ds = null; // 数据源对象 private PreparedStatement pstmt; // SQL 语句被预编译并且存储在 PreparedStatement// // 对象中。然后可以使用此对象高效地多次执行该语句。 private static String dataSourceName = "java:/comp/env" + "/souces"; // 数据圜名称 // 连接数据原,并且产生连接//连接数据原,并且产生连接//连接数据原,并且产生连接 // 连接数据原,并且产生连接//连接数据原,并且产生连接//连接数据原,并且产生连接 static { try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/welcome", "root", "617200667058"); st= conn.createStatement(); System.out.println("数据原被加载!"); } catch (NamingException e) { e.printStackTrace(); } } public Conndb(){ try { if(conn!=null) { conn = ds.getConnection(); System.out.println("连接对象创建!"); }else{ throw new SQLException(); } } catch (SQLException e) { e.printStackTrace(); } }public Connection getConnection() { return conn;} // 关闭连接// 关闭连接// 关闭连接// 关闭连接 // 关闭连接// 关闭连接// 关闭连接// 关闭连接 public void free() { if (rs != null) { try { rs.close(); } catch (SQLException e) { // TODO Auto-generated catch block try { rs.close(); } catch (SQLException e1) { // TODO Auto-generated catch block System.err.print("释放rs出错!"); } } } // 释放Statement try { if (conn!= null) { st.close(); } } catch (SQLException e) { try { st.close(); } catch (SQLException se) { // System.out.print("释放Statement出错!"); } } // 释放PreparedStatement try { if (pstmt != null) { pstmt.close(); } } catch (SQLException e) { try { pstmt.close(); } catch (SQLException se) { System.out.print("释放PreparedStatement出错!"); } } // 释放Connection try { if (conn != null) { conn.close(); } } catch (SQLException e) { try { conn.close(); } catch (SQLException se) { { System.out.print("释放Connection出错!"); } } } } // select all 并且返回一个结果//select all 并且返回一个结果 // select all 并且返回一个结果//select all 并且返回一个结果 public ResultSet search(String sql) throws SQLException{ st = conn.createStatement(); rs =st.executeQuery(sql); return rs; } // add bookinfo//add bookinfo//add bookinfo // add bookinfo//add bookinfo//add bookinfo public void assbook(String sql) { try { st = conn.createStatement(); st.execute(sql); } catch (SQLException e) { e.printStackTrace(); } } // delete bookinfo//delete bookinfo//delete bookinfo // delete bookinfo//delete bookinfo//delete bookinfo public void delete(String sql) { try { st = conn.createStatement(); st.execute(sql); } catch (SQLException e) { e.printStackTrace(); } }} 如何在回复里面嵌入java代码块 基础者学习困惑. 用java怎样实现从计算机并口上获取数据,并以波形形式在屏幕上显示出来? 初学java``一个小问题`` 通过java.net.Socket类抓取网页内容 数组名随机生成吗? 退出线程问题 这个死循环的Exception怎么写?请大家帮忙!!!!!!!!!! JAVA项目代码书写规范 Java中如何创建二叉树 java编写画图软件? 这里的this 指的什么啊?
楼主【rushygirl】截止到2008-06-23 20:36:00的历史汇总数据(不包括此帖):
发帖数:0 发帖分:0
结贴数:0 结贴分:0
未结数:0 未结分:0
结贴率:-------------------结分率:-------------------
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
import java.sql.Statement;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Connection;
import java.sql.DatabaseMetaData;public class GetSQL
{ public static void main(String[] args)
{
try
{
//jdbc-odbc桥连接
/*
新建一个数据库,为Test,再在其中新建一张表命名为Student,添加一些数据(方便观察效果),下面我们配置数据源
开始----控制面板----管理工具----数据源-----添加----选中“SQL Server”----完成
把默认的数据库改为Test。点“下一步”----完成----“测试数据源”,如果提示成功,OK,数据源配置好了!
*/
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();//加载驱动程序
String cnnStrURL="jdbc:odbc:Test";//数据库名
String cnnStrUID = "sa";
String cnnStrPWD = "";
Connection con = DriverManager.getConnection (cnnStrURL,cnnStrUID,cnnStrPWD);
//获取数据库信息
DatabaseMetaData dma=con.getMetaData();
System.out.println("连接的数据库:"+dma.getURL());
System.out.println("Driver: "+dma.getDriverName());
System.out.println("Version: "+dma.getDriverVersion());
//查询初始数据表
System.out.println("初始数据表");
//System.err.p
Statement stmt = con.createStatement();
ResultSet rst = stmt.executeQuery("select * from Student");
while(rst.next())
{
System.out.println(rst.getString("stuID")+" "+rst.getString("stuName")+" "+rst.getString("stuSex"));
}
//插入数据
System.out.println("插入记录后");
stmt.executeUpdate("Insert into student Values('003','CCC','女')");// Where NOT EXISTS (Select * from student where stuID='003')");
rst = stmt.executeQuery("select * from Student");
while(rst.next())
{
System.out.println(rst.getString("stuID")+" "+rst.getString("stuName")+" "+rst.getString("stuSex"));
}
//删除数据
System.out.println("删除记录后");
stmt.executeUpdate("Delete From student Where stuID='003'");
rst = stmt.executeQuery("select * from Student");
while (rst.next()) {
System.out.println(rst.getString("stuID") + " " +
rst.getString("stuName") + " " +
rst.getString("stuSex"));
}
System.out.println("修改记录后");
stmt.executeUpdate("Update student set stuName='Mary' Where stuID='002'");
rst = stmt.executeQuery("select * from Student");
while (rst.next()) {
System.out.println(rst.getString("stuID") + " " +
rst.getString("stuName") + " " +
rst.getString("stuSex"));
}
rst.close();
stmt.close();
con.close();
}
catch(Exception e)
{ e.printStackTrace();
System.out.println("出错了");
}
}
}
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;public class Conndb { private static Connection conn; private Statement st = null; private ResultSet rs = null; //private static DataSource ds = null; // 数据源对象 private PreparedStatement pstmt; // SQL 语句被预编译并且存储在 PreparedStatement// // 对象中。然后可以使用此对象高效地多次执行该语句。 private static String dataSourceName = "java:/comp/env" + "/souces"; // 数据圜名称 // 连接数据原,并且产生连接//连接数据原,并且产生连接//连接数据原,并且产生连接
// 连接数据原,并且产生连接//连接数据原,并且产生连接//连接数据原,并且产生连接
static {
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/welcome", "root", "617200667058");
st= conn.createStatement();
System.out.println("数据原被加载!");
} catch (NamingException e) {
e.printStackTrace();
}
}
public Conndb(){
try {
if(conn!=null) {
conn = ds.getConnection();
System.out.println("连接对象创建!");
}else{
throw new SQLException();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public Connection getConnection() {
return conn;
} // 关闭连接// 关闭连接// 关闭连接// 关闭连接
// 关闭连接// 关闭连接// 关闭连接// 关闭连接
public void free() { if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
try {
rs.close();
} catch (SQLException e1) {
// TODO Auto-generated catch block
System.err.print("释放rs出错!");
} }
}
// 释放Statement
try {
if (conn!= null) {
st.close(); }
} catch (SQLException e) {
try {
st.close();
} catch (SQLException se) {
// System.out.print("释放Statement出错!");
}
}
// 释放PreparedStatement
try {
if (pstmt != null) {
pstmt.close(); }
} catch (SQLException e) {
try {
pstmt.close();
} catch (SQLException se) {
System.out.print("释放PreparedStatement出错!");
}
}
// 释放Connection
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
try {
conn.close();
} catch (SQLException se) {
{
System.out.print("释放Connection出错!");
}
}
}
}
// select all 并且返回一个结果//select all 并且返回一个结果
// select all 并且返回一个结果//select all 并且返回一个结果 public ResultSet search(String sql) throws SQLException{
st = conn.createStatement();
rs =st.executeQuery(sql);
return rs;
}
// add bookinfo//add bookinfo//add bookinfo
// add bookinfo//add bookinfo//add bookinfo public void assbook(String sql) { try {
st = conn.createStatement();
st.execute(sql);
} catch (SQLException e) { e.printStackTrace();
} }
// delete bookinfo//delete bookinfo//delete bookinfo
// delete bookinfo//delete bookinfo//delete bookinfo public void delete(String sql) { try {
st = conn.createStatement();
st.execute(sql);
} catch (SQLException e) { e.printStackTrace();
} }}