import java.sql.*
/**
* @功能: 一个JDBC的本地化API连接类,封装了数据 *** 作方法,只用传一个SQL语句即可
* @作者: 李开欢
* @日期: 2007/
*/
public class ConnectionDemo {
/*
* 这里可以将常量全部放入另一个类中,以方便修改
*/
private static Connection conn
private static Statement ps
private static ResultSet rs
private static final String DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver"
private static final String URL = "jdbc:microsoft:sqlserver://localhost:1433DatabaseName=mydb"
private static final String USER ="sa"
private static final String PASS = "sa"
public ConnectionDemo() {
// TODO Auto-generated constructor stub
ConnectionDemo.getConnection()
}
public static Connection getConnection(){
System.out.println("连接中...")
try {
Class.forName(ConnectionDemo.DRIVER)
conn = DriverManager.getConnection(ConnectionDemo.URL, ConnectionDemo.USER, ConnectionDemo.PASS)
System.out.println("成功连接")
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace()
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
return conn
}
public static Statement getStatement(String sql){
System.out.println("执行SQL语句中...")
try {
ps = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE)
if(sql.substring(0, 6).equals("select")){
rs = ps.executeQuery(sql)
System.out.println("执行完查询 *** 作,结果已返回ResultSet集合")
}else if(sql.substring(0, 6).equals("delete")){
ps.executeUpdate(sql)
System.out.println("已执行完毕删除 *** 作")
}else if(sql.substring(0, 6).equals("insert")){
ps.executeUpdate(sql)
System.out.println("已执行完毕增加 *** 作")
}else{
ps.executeUpdate(sql)
System.out.println("已执行完毕更新 *** 作")
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
return ps
}
public static ResultSet getResultSet(){
System.out.println("查询结果为:")
return rs
}
public static void closeConnection(){
System.out.println("关闭连接中...")
try {
if (rs != null) {
rs.close()
System.out.println("已关闭ResultSet")
}
if (ps != null) {
ps.close()
System.out.println("已关闭Statement")
}
if (conn != null) {
conn.close()
System.out.println("已关闭Connection")
}
} catch (Exception e) {
// TODO: handle exception
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
ConnectionDemo.getConnection()
String sql = "delete from type where id = 1"
ConnectionDemo.getStatement(sql)
String sql2 = "insert into type values(1,'教学设备')"
ConnectionDemo.getStatement(sql2)
String sql1 = "select * from type"
ConnectionDemo.getStatement(sql1)
ResultSet rs = ConnectionDemo.getResultSet()
System.out.println("编号 "+"类型")
try {
while(rs.next()){
System.out.print(" "+rs.getInt(1)+" ")
System.out.println(rs.getString(2))
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
ConnectionDemo.closeConnection()
}
}
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点,是 Microsoft Office 的系统程序之一。用vba代码将access数据库连接求代码,代码如下:
Sub FYMXDL()
Dim XQID As Integer
Dim JZID As Integer
Dim FYID As Integer
Dim FBXZ As String '分包性质
Dim DW As String
Dim SARR(1 To 31) As Double
Dim rst As New ADODB.Recordset
mYpath = ThisWorkbook.Path &"\jzfydata.accdb"
Set cONn = CreateObject("ADODB.Connection")
cONn.ConnectionString = "Provider=Microsoft.Ace.OleDB.12.0Data Source=" &mYpath
cONn.ConnectionString = cONn.ConnectionString &"Jet OLEDB:Database "
cONn.Open
XQID = Cells(3, 2).Value
JZID = Cells(3, 5).Value
'清空改小区-建筑的费用明细
Sql = "delete from fymxb where 小区ID=" &XQID &" AND 建筑ID = " &JZID
cONn.Execute Sql
Const kshh = 7
hh = kshh
Do While Cells(hh, 3).Value >0
FYID = Cells(hh, 3).Value
FBXZ = Cells(hh, 11).Text
For i = 1 To 31
SARR(i) = Round(Cells(hh, 13 + i - 1).Value, 2)
Next i
Sql = Sql &"," &SARR(i)
Next i
Sql = Sql &" )"
cONn.Execute Sql
hh = hh + 1
Loop
End Sub
import java.sql.Connection。
import java.sql.DriverManager
import java.sql.PreparedStatement
import java.sql.ResultSet
import java.sql.SQLException
import javax.naming.Context
import javax.naming.InitialContext
import javax.naming.NamingException
import javax.sql.DataSource
public class DBCon {
//数据库驱动对象
public static final String DRIVER="oracle.jdbc.driver.OracleDriver"
//数据库连接地址(数据库名)
public static final String URL="jdbc:oracle:thin:@localhost:1521:orcl"
//登陆名
public static final String USER="FM"
//登陆密码
public static final String PWD="FM"
//创建数据库连接对象
private Connection con=null
//创建数据库预编译对象
private PreparedStatement ps=null
//创建结果集
private ResultSet rs=null
//创建数据源对象
public static DataSource source=null
// //静态代码块
// static{
//
// //初始化配置文件context
// try {
// Context context=new InitialContext()
// source=(DataSource)context.lookup("java:comp/env/jdbc/webmessage")
// } catch (Exception e) {
// // TODO Auto-generated catch block
// e.printStackTrace()
// }
//
//
// }
/**
* 获取数据库连接
*/
public Connection getCon(){
try {
Class.forName(DRIVER)
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
try {
con=DriverManager.getConnection(URL,USER,PWD)
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
return con
}
// /**
// * 获取数据库连接
// */
// public Connection getCon(){
//
// try {
// con=source.getConnection()
// } catch (SQLException e) {
// // TODO Auto-generated catch block
// e.printStackTrace()
// }
//
// return con
// }
/**
* 关闭所有资源
*/
public void closeAll(){
if(rs!=null)
try {
rs.close()
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
if(ps!=null)
try {
ps.close()
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
if(con!=null)
try {
con.close()
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
}
/**
* @param sql数据库更新(增、删、改) 语句
* @param pras参数列表(可传,可不传,不传为NULL,以数组形式存在)
* @return 返回受影响都行数
*/
public int update(String sql,String... pras){
int resu=0
con=getCon()
try {
ps=con.prepareStatement(sql)
for(int i=0i<pras.lengthi++){
ps.setString(i+1,pras[i])
}
resu=ps.executeUpdate()
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
finally{
closeAll()
}
return resu
}
/**
* @param sql数据库查询语句
* @param pras参数列表(可传,可不传,不传为NULL,以数组形式存在)
* @return 返回结果集
*/
public ResultSet query(String sql,String... pras){
con=getCon()
try {
ps=con.prepareStatement(sql)
if(pras!=null)
for(int i=0i<pras.lengthi++){
ps.setString(i+1, pras[i])
}
rs=ps.executeQuery()
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
return rs
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)