就要鏈接數(shù)據(jù)庫,可以通過JDBC鏈接。
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、吉首ssl等。為數(shù)千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的吉首網(wǎng)站制作公司
首先,在連接數(shù)據(jù)庫之前必須保證SQL Server 2012是采用SQL Server身份驗證方式而不是windows身份驗證方式,開始如下配置:
一、因為SQL Server 2012裝好后,默認(rèn)協(xié)議是沒有開啟的,所以要打開SQL Server配置管理器中開啟。
1、安裝好SQL Server 2012后,運行 開始 → 所有程序 → Microsoft SQL Server 2012 → 配置工具 →SQL Server配置管理器
2、在左邊欄找到 SQL Server網(wǎng)絡(luò)配置選項,點開它的小箭頭,會看到“【你的數(shù)據(jù)庫名】的協(xié)議” (圖中是ERIC2012的協(xié)議),選中它,看右邊欄。
(1)如果Named Pipes 未啟用,則右鍵→啟用
(2)右鍵單擊 TCP/IP,選擇 啟用
(3)雙擊TCP/IP(右鍵→屬性),在彈出的窗口中選擇 “IP地址” 選項卡,將IP1和IP10的【IP地址】設(shè)為127.0.0.1,并將所有【IPx】的【已啟用】設(shè)為是。接著,拖動下拉條到最下方,將 IPAll 中的【TCP端口】設(shè)成 【1433】,其余不變。
3、重新啟動計算機。
4、接下來使用telnet命令測試1433端口是否打開。首先要保證telnet服務(wù)開啟。
5、完成上一步后。開始菜單 → 運行cmd → 輸入:telnet 127.0.0.1 1433,(注意telnet與127之間有空格,1與1433之間有空格)。
6、若提示“不能打開到主機的連接,在端口 1433: 連接失敗”,則說明1433端口沒有打開,需要重新進(jìn)行以上配置。
用這個類吧.好的話,給我加加分.
import java.sql.*;
/**
* @功能: 一個JDBC的本地化API連接類,封裝了數(shù)據(jù)操作方法,只用傳一個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:1433;DatabaseName=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("執(zhí)行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("執(zhí)行完查詢操作,結(jié)果已返回ResultSet集合");
}else if(sql.substring(0, 6).equals("delete")){
ps.executeUpdate(sql);
System.out.println("已執(zhí)行完畢刪除操作");
}else if(sql.substring(0, 6).equals("insert")){
ps.executeUpdate(sql);
System.out.println("已執(zhí)行完畢增加操作");
}else{
ps.executeUpdate(sql);
System.out.println("已執(zhí)行完畢更新操作");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return ps;
}
public static ResultSet getResultSet(){
System.out.println("查詢結(jié)果為:");
return rs;
}
public static void closeConnection(){
System.out.println("關(guān)閉連接中...");
try {
if (rs != null) {
rs.close();
System.out.println("已關(guān)閉ResultSet");
}
if (ps != null) {
ps.close();
System.out.println("已關(guān)閉Statement");
}
if (conn != null) {
conn.close();
System.out.println("已關(guān)閉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,'教學(xué)設(shè)備')";
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();
}
}
Java程序向數(shù)據(jù)庫中插入數(shù)據(jù),代碼如下:
//首先創(chuàng)建數(shù)據(jù)庫,(access,oracle,mysql,sqlsever)其中之一,其中access,sqlsever需要配置數(shù)據(jù)源(odbc);
//然后再eclipse中創(chuàng)建類(ConnDb,Test,TestBean)ConnDb功能為連接數(shù)據(jù)庫,查詢,插入,刪除,修改數(shù)據(jù)的類,Test為含有main方法的測試類,TestBean為數(shù)據(jù)表中的字段屬性及set,get方法
//以下是ConnDb代碼:
package?db;
import?java.sql.Connection;
import?java.sql.DriverManager;
import?
java.sql.ResultSet;
import?java.sql.SQLException;
import?
java.sql.Statement;
import?java.util.ArrayList;
public?class?ConnDb?{
public?Connection?startConn(Connection?conn){
try?{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn?=?DriverManager.getConnection("jdbc:odbc:數(shù)據(jù)庫","用戶名",?"密碼");
}?catch?(Exception?e)?{
System.out.println("連接數(shù)據(jù)庫時出現(xiàn)錯誤");
}
return?conn;
}
public?ArrayList?executeQuery(String?sql){
Connection?conn?=?null;
Statement?stmt?=?null;
ResultSet?rs?=?null;
ArrayList?list?=?new?ArrayList();
try?{
conn?=?startConn(conn);
stmt?=?conn.createStatement();
rs?=?stmt.executeQuery(sql);//sql為a?href=";tn=44039180_cprfenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YLuARzuAw9mW-BuW0snHF-0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPHTzPHbkPWf3"?target="_blank"?class="baidu-highlight"sql語句/a例如"select?*?from?
表名",從main方法中傳進(jìn)來,這里用的是ArrayList?類將查詢結(jié)果存儲起來
while(rs.next()){
TestBean?tb?=?new?TestBean();
tb.setTid(rs.getString("tid"));
tb.setTname(rs.getString("tname"));
tb.setTinfo(rs.getString("tinfo"));
list.add(tb);
}
}?
catch?(SQLException?e)?{
//?TODO?Auto-generated?catch?block
e.printStackTrace();
}finally{
closeConn(rs,stmt,conn);
}
return?list;
}?
public?void?executeUpdate(String?sql){
Connection?conn?=?null;
Statement?stmt?=?null;
try?{
conn?=?
startConn(conn);
stmt?=?conn.createStatement();
stmt.executeUpdate(sql);
}?
catch?(SQLException?e)?{
System.out.println("修改,插入或者刪除數(shù)據(jù)庫數(shù)據(jù)時發(fā)生錯誤!");
}finally{
closeConn(stmt,conn);
}
}
public?void?closeConn(ResultSet?rs,Statement?stmt,Connection?conn){
try?{
if(rs?!=?
null){
rs.close();
}
if(stmt?!=?null){
stmt.close();
}
if(conn?!=?null){
conn.close();
}
}?
catch?(SQLException?e)?{
//?TODO?Auto-generated?catch?
block
System.out.println("關(guān)閉數(shù)據(jù)庫的時候發(fā)生錯誤!");
}
}
public?void?closeConn(Statement?stmt,Connection?conn){
try?{
if(stmt?!=?null){
stmt.close();
}
if(conn?!=?null){
conn.close();
}
}?
catch?(SQLException?e)?{
//?TODO?Auto-generated?catch?block
System.out.println("關(guān)閉數(shù)據(jù)庫的時候發(fā)生錯誤!");
}
}
}