『壹』 分別寫出jdbc連oracle和mysql的主要代碼
JDBC連接不同資料庫的寫法如下:
1、Oracle8/8i/9i資料庫(thin模式)
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl為資料庫的SID
String user="test";
String password="test";
Connection conn= DriverManager.getConnection(url,user,password);
2、SQL Server2005及以上版本資料庫
Class.forName("com.microsoft.sqlserver.SQLServerDriver");
String url="jdbc:sqlserver://localhost:1433;DatabaseName=mydb";
//mydb為資料庫
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
3、MySQL資料庫
Class.forName("com.mysql.jdbc.Driver");
String url ="jdbc:mysql://localhost/myDB?
user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
//myDB為資料庫名
Connection conn= DriverManager.getConnection(url);
4、DB2資料庫
Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
String url="jdbc:db2://localhost:5000/sample"; //sample為你的資料庫名
String user="admin";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
5、Sybase資料庫
Class.forName("com.sybase.jdbc.SybDriver").newInstance();
String url =" jdbc:sybase:Tds:localhost:5007/myDB";//myDB為你的資料庫名
Properties sysProps = System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connection conn= DriverManager.getConnection(url, SysProps);
6、Informix資料庫
Class.forName("com.informix.jdbc.IfxDriver").newInstance();
String url = "jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword"; //myDB為資料庫名
Connection conn= DriverManager.getConnection(url);
7、PostgreSQL資料庫
Class.forName("org.postgresql.Driver").newInstance();
String url ="jdbc:postgresql://localhost/myDB" //myDB為資料庫名
String user="myuser";
String password="mypassword";
Connection conn= DriverManager.getConnection(url,user,password);
8、access資料庫直連用ODBC的
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
String url="jdbc:odbc:Driver={MicroSoft Access Driver
(*.mdb)};DBQ="+application.getRealPath("/Data/ReportDemo.mdb");
Connection conn = DriverManager.getConnection(url,"","");
Statement stmtNew=conn.createStatement() ;
『貳』 網頁設計中理解資料庫最常用的幾句代碼是
<%
set conn=server.create.createobject("adodb.connection")
conn.open "DSN=esinc;UID=admin;PWD=;"
%>
上面是用本地伺服器
<%
set conn=server.create.createobject("adodb.connection")
conn.open "driver=driver do microsoft access (*.mdb);UID=admin;PWD=;DBQ="&server.mappath("esinc.mdb")
%>
這個是在其他地方也可以用 esinc是mdb的文件名自己改
『叄』 資料庫,代碼如何寫
select if(score<=59,"不及格",if(score<=69,"及格",…)) from 表名
你順著這個往後寫就可以了
『肆』 sql增刪改查的基本代碼
adoquery1.Fielddefs[1].Name; 欄位名
dbgrid1.columns[0].width:=10; dbgrid的欄位寬度
adoquery1.Fields[i].DataType=ftString 欄位類型
update jb_spzl set kp_item_name=upper(kp_item_name) 修改資料庫表中某一列為大寫
select * from master.dbo.sysobjects ,jm_barcode.dbo.users 多庫查詢
adotable1.sort:='欄位名稱 ASC' adotable排序
SQL常用語句一覽
sp_password null,'新密碼','sa' 修改資料庫密碼
(1)數據記錄篩選:
sql="select * from 數據表 where 欄位名=欄位值 orderby 欄位名 [desc] "
sql="select * from 數據表 where 欄位名 like '%欄位值%' orderby 欄位名 [desc]"
sql="select top10 * from 數據表 where 欄位名 orderby 欄位名[desc]"
sql="select * from 數據表 where 欄位名 in('值1','值2','值3')"
sql="select * from 數據表 where 欄位名 between 值1 and 值 2"
(2)更新數據記錄:
sql="update 數據表 set 欄位名=欄位值 where 條件表達式"
sql="update 數據表 set 欄位1=值1,欄位2=值2……欄位n=值n where 條件表達式"
(3)刪除數據記錄:
sql="delete from 數據表 where 條件表達式"
sql="delete from 數據表 "(將數據表所有記錄刪除)
(4)添加數據記錄:
sql="insert into 數據表(欄位1,欄位2,欄位3…) values(值1,值2,值3…)"
sql="insert into 目標數據表 select * from 源數據表"(把源數據表的記錄添加到目標數據表)
(5)數據記錄統計函數:
AVG(欄位名)得出一個表格欄平均值
COUNT(*|欄位名)對數據行數的統計或對某一欄有值的數據行數統計
MAX(欄位名)取得一個表格欄最大的值
MIN(欄位名)取得一個表格欄最小的值
SUM(欄位名)把數據欄的值相加
引用以上函數的方法:
sql="selectsum(欄位名)as別名from數據表where條件表達式"
setrs=conn.excute(sql)
用rs("別名")獲取統的計值,其它函數運用同上。
(5)數據表的建立和刪除:
CREATETABLE數據表名稱(欄位1類型1(長度),欄位2類型2(長度)……)
例:CREATETABLEtab01 (namevarchar (50), datetimedefaultnow ())
DROPTABLE數據表名稱(永久性刪除一個數據表)
4.記錄集對象的方法:
rs.movenext將記錄指針從當前的位置向下移一行
rs.moveprevious將記錄指針從當前的位置向上移一行
rs.movefirst將記錄指針移到數據表第一行
rs.movelast將記錄指針移到數據表最後一行
rs.absoluteposition=N將記錄指針移到數據表第N行
rs.absolutepage=N將記錄指針移到第N頁的第一行
rs.pagesize=N設置每頁為N條記錄
rs.pagecount根據pagesize的設置返回總頁數
rs.recordcount返回記錄總數
rs.bof返回記錄指針是否超出數據表首端,true表示是,false為否
rs.eof返回記錄指針是否超出數據表末端,true表示是,false為否
rs.delete刪除當前記錄,但記錄指針不會向下移動
rs.addnew添加記錄到數據表末端
rs.update更新數據表記錄
SQL語句的添加、刪除、修改雖然有如下很多種方法,但在使用過程中還是不夠用,不知是否有高手把更多靈活的使用方法貢獻出來?
添加、刪除、修改使用db.Execute(Sql)命令執行操作
╔----------------╗
☆ 數據記錄篩選 ☆
╚----------------╝
注意:單雙引號的用法可能有誤(沒有測式)
Sql = "Select Distinct 欄位名 From 數據表"
Distinct函數,查詢資料庫存表內不重復的記錄
Sql = "Select Count(*) From 數據表 where 欄位名1>#18:0:0# and 欄位名1< #19:00# "
count函數,查詢數庫表內有多少條記錄,「欄位名1」是指同一欄位
例:
set rs=conn.execute("select count(id) as idnum from news")
response.write rs("idnum")
sql="select * from 數據表 where 欄位名 between 值1 and 值2"
Sql="select * from 數據表 where 欄位名 between #2003-8-10# and #2003-8-12#"
在日期類數值為2003-8-10 19:55:08 的欄位里查找2003-8-10至2003-8-12的所有記錄,而不管是幾點幾分。
select * from tb_name where datetime between #2003-8-10# and #2003-8-12#
欄位裡面的數據格式為:2003-8-10 19:55:08,通過sql查出2003-8-10至2003-8-12的所有紀錄,而不管是幾點幾分。
Sql="select * from 數據表 where 欄位名=欄位值 order by 欄位名 [desc]"
Sql="select * from 數據表 where 欄位名 like '%欄位值%' order by 欄位名 [desc]"
模糊查詢
Sql="select top 10 * from 數據表 where 欄位名 order by 欄位名 [desc]"
查找資料庫中前10記錄
Sql="select top n * form 數據表 order by newid()"
隨機取出資料庫中的若干條記錄的方法
top n,n就是要取出的記錄數
Sql="select * from 數據表 where 欄位名 in ('值1','值2','值3')"
╔----------------╗
☆ 添加數據記錄 ☆
╚----------------╝
sql="insert into 數據表 (欄位1,欄位2,欄位3 …) valuess (值1,值2,值3 …)"
sql="insert into 數據表 valuess (值1,值2,值3 …)"
不指定具體欄位名表示將按照數據表中欄位的順序,依次添加
sql="insert into 目標數據表 select * from 源數據表"
把源數據表的記錄添加到目標數據表
╔----------------╗
☆ 更新數據記錄 ☆
╚----------------╝
Sql="update 數據表 set 欄位名=欄位值 where 條件表達式"
Sql="update 數據表 set 欄位1=值1,欄位2=值2 …… 欄位n=值n where 條件表達式"
Sql="update 數據表 set 欄位1=值1,欄位2=值2 …… 欄位n=值n "
沒有條件則更新整個數據表中的指定欄位值
╔----------------╗
☆ 刪除數據記錄 ☆
╚----------------╝
Sql="delete from 數據表 where 條件表達式"
Sql="delete from 數據表"
沒有條件將刪除數據表中所有記錄)
╔--------------------╗
☆ 數據記錄統計函數 ☆
╚--------------------╝
AVG(欄位名) 得出一個表格欄平均值
COUNT(*|欄位名) 對數據行數的統計或對某一欄有值的數據行數統計
MAX(欄位名) 取得一個表格欄最大的值
MIN(欄位名) 取得一個表格欄最小的值
SUM(欄位名) 把數據欄的值相加
引用以上函數的方法:
sql="select sum(欄位名) as 別名 from 數據表 where 條件表達式"
set rs=conn.excute(sql)
用 rs("別名") 獲取統的計值,其它函數運用同上。
╔----------------------╗
☆ 數據表的建立和刪除 ☆
╚----------------------╝
CREATE TABLE 數據表名稱(欄位1 類型1(長度),欄位2 類型2(長度) …… )
例:CREATE TABLE tab01(name varchar(50),datetime default now())
DROP TABLE 數據表名稱 (永久性刪除一個數據表)
╔--------------------╗
☆ 記錄集對象的方法 ☆
╚--------------------╝
rs.movenext 將記錄指針從當前的位置向下移一行
rs.moveprevious 將記錄指針從當前的位置向上移一行
rs.movefirst 將記錄指針移到數據表第一行
rs.movelast 將記錄指針移到數據表最後一行
rs.absoluteposition=N 將記錄指針移到數據表第N行
rs.absolutepage=N 將記錄指針移到第N頁的第一行
rs.pagesize=N 設置每頁為N條記錄
rs.pagecount 根據 pagesize 的設置返回總頁數
rs.recordcount 返回記錄總數
rs.bof 返回記錄指針是否超出數據表首端,true表示是,false為否
rs.eof 返回記錄指針是否超出數據表末端,true表示是,false為否
rs.delete 刪除當前記錄,但記錄指針不會向下移動
rs.addnew 添加記錄到數據表末端
rs.update 更新數據表記錄
%:代表任意長的一段字元 _ :代表一個字元 [a,b,c,d]:a、b、c、d中的任意一個 [^a,b,c,d]:不在a、b、c、d中的任意一個
『伍』 資料庫代碼求意思 要詳細的,非常感謝
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
'檢查用戶是否登陸,是否是管理員 ispassed和isadmin是boolean類型存儲在session中,這個變數是是在整個會話中都存在的,一般在用戶登錄後馬上就會存儲起來,如果沒有登錄或者不是管理員轉到登錄頁面,就是看你是否有管理員頁面許可權
If Session("IsPassed") <> TRUE OR Session("IsAdmin") <> TRUE Then
Response.Redirect "login.asp?ErrMsg=請先登陸"
Response.End
End If
'獲取欲刪除的用戶ID,獲取你上個頁面所選擇的用戶ID
Dim ID
ID = Request.QueryString("id")
'打開資料庫連接,連接字元串
Dim objConn, strSQL, objRS
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "Provider=SQLOLEDB;Data Source=ylof;Initial Catalog=MEMBER;User ID=sa; PASSWORD=sa"
objConn.Open
'根據用戶ID檢索資料庫,檢索你要刪除的用戶ID,創建recordset對象,要刪除的用戶存儲在recordset對象中,1,3參數代表著游標類型和鎖類型,1,3表示可以添加,修改,刪除,最後一個1好像是多餘的
strSQL = "Select * From MEMBER Where ID=" & ID
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, objConn, 1, 3, 1
'檢驗用戶許可權,超級管理員可以刪除除自身之外的所有會員,檢查你自己登錄的用戶是否是超級管理員,要刪除的用戶不具有超級管理員許可權
If Session("Class") = "1" Then
If objRS.Fields("CLASS") <> "1" Then
objRS.Delete
End If
Else
'一般管理員只能刪除普通會員,檢查你登錄的用戶是否為普通管理員,要刪除的用戶不是超級管理員也不是普通管理員
If Session("Class") = "2" Then
If objRS.Fields("CLASS") <> "1" AND objRS.Fields("CLASS") <> "2" Then
objRS.Delete
End If
End If
End If
'關閉數據集和資料庫連接
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
'轉向系統管理主界面,刪除完後跳轉到管理員界面
Response.Redirect "admin.asp"
Response.End
%>
『陸』 servlet中連接資料庫的具體代碼; 例如!
應該是用jdbc去連接吧!寫個;然後去連接資料庫
代碼如下:
public Connection getConnection() {
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
return DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=test","sa","");
} catch (ClassNotFoundException e) {
throw new DaoException("載入驅動程序失敗",e);
} catch (SQLException e) {
throw new DaoException("資料庫連接失敗",e);
}
}
public void close(ResultSet rs, Statement stmt, Connection conn) {
if(rs != null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(stmt != null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
『柒』 SQL資料庫用代碼創建 怎麼創建
create database 資料庫名稱
on
(
name='aaa',
filename='aaa.dbf',
size=初始大小,
maxsize=存儲上限,
filegrowth=增長增量
)
log on
(
name='b',
filename='b.ldf',
size=初始大小,
maxsize=存儲上限,
filegrowth=增長增量
)
(7)資料庫的基本代碼擴展閱讀:
SQL語句創建基本資料庫
SQL語句代碼:CREATE DATABASE 語句。
CREATE DATABASE Epiphany
ON
(
NAME = Epiphany,
FILENAME = 'E:SQL SERVER 2008Epiphany_data.mdf',
SIZE = 5MB,
MAXSIZE = 20,
FILEGROWTH = 20
)
LOG ON
(
NAME = Epiphany,
FILENAME = 'E:SQL SERVER 2008Epiphany_log.ldf',
SIZE = 2MB,
MAXSIZE = 10MB,
FILEGROWTH = 1MB
);
可以用這個模板,例子:
CREATE DATABASE Epiphany
ON
(
NAME = Epiphany,
FILENAME = 'E:SQL SERVER 2008Epiphany_data.mdf',
SIZE = 5MB,
MAXSIZE = 20,
FILEGROWTH = 20
)
LOG ON
(
NAME = Epiphany,
FILENAME = 'E:SQL SERVER 2008Epiphany_log.ldf',
SIZE = 2MB,
MAXSIZE = 10MB,
FILEGROWTH = 1MB
);
完畢!
『捌』 資料庫連接操作的基本代碼
下面是對sqlserver 2005的連接,用的是java語言
/**
* 此類用於獲得資料庫連接對象以及關閉
* @author student
*
*/
public class DBConnection {
private static final String DRIVER_CLASS = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static final String DATABASE_URL = "jdbc:sqlserver://localhost:1035;databaseName=books";
private static final String DATABASE_USER = "sa";
private static final String DATABASE_PASSWORD = "123456";
/**
* 獲得一個數據連接對象
* @return
*/
public Connection getConn(){
Connection con = null;
try{
Class.forName(DRIVER_CLASS);
con = DriverManager.getConnection(DATABASE_URL,DATABASE_USER,DATABASE_PASSWORD);
}catch(ClassNotFoundException ex){
ex.printStackTrace();
}catch(SQLException ex){
ex.printStackTrace();
}
return con;
}
/**
* 關閉資料庫相關對象
*/
public void closeConn(ResultSet rs,PreparedStatement ps,Connection con){
try{
if(rs!=null)
rs.close();
if(ps!=null)
ps.close();
if(con!=null)
con.close();
}catch(SQLException ex){
ex.printStackTrace();
}
}
}
下面是對sqlserver 2000的連接,用的是java語言
public class BaseJdbcDAO {
protected Connection conn=null;
protected Statement stmt=null;
protected PreparedStatement pstmt=null;
protected ResultSet rs=null;
protected void openConn(){
Connection aConn=null;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
aConn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=epet","123","123");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
this.conn=aConn;
}
protected void closeAll(){
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(stmt!=null){
try {
stmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(pstmt!=null){
try {
pstmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
『玖』 誰能給個連接資料庫的代碼
1.Access資料庫的DSN-less連接方法:
set adocon=Server.Createobject("adodb.connection")
adoconn.Open"Driver={Microsoft Access Driver(*.mdb)};DBQ="& _
Server.MapPath("資料庫所在路徑")
2.Access OLE DB連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Provider=Microsoft.Jet.OLEDB.4.0;"& _
"Data Source=" & Server.MapPath("資料庫所在路徑")
3.SQL server連接方法:
set adocon=server.createobject("adodb.recordset")
adocon.Open"Driver={SQL Server};Server=(Local);UID=***;PWD=***;"& _
"database=資料庫名;"
4.SQL server OLE DB連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"provider=SQLOLEDB.1;Data Source=RITANT4;"& _
"user ID=***;Password=***;"& _
"inital Catalog=資料庫名"
5.Oracle 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;"
6.Oracle OLE DB 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Provider=OraOLEDB.Oracle;data source=dbname;user id=admin;password=pass;"
7.dBase 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=------------;"
8.mySQL 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={mysql};database=yourdatabase;uid=username;pwd=yourpassword;option=16386;"
9.Visual Foxpro 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;"
10.MS text 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft text driver(*.txt; *.csv)};dbq=-----;"&_
"extensions=asc,csv,tab,txt;Persist SecurityInfo=false;"
11.MS text OLE DB 連接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Provider=microsof.jet.oledb.4.0;data source=your_path;"&_
"Extended Properties'text;FMT=Delimited'"
『拾』 vb資料庫代碼
Private Sub Form_Load()
Adodc1.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source=" + App.Path + "\" + "cc.mdb" 連接在文件根目錄下的資料庫
Adodc1.CommandType = adCmdUnknown
Adodc1.RecordSource = "select * from 基本信息" 設置數據表
Adodc1.Refresh 刷新
End Sub
查詢--------------------------a = InputBox("請輸入查詢對象欄位", "自定義查詢")
Adodc1.CommandType = adCmdUnknown
Adodc1.RecordSource = "select*from 基本信息 where a"
Adodc1.Refresh Adodc1.RecordSource = "select*from 基本信息 where 學號='" & text1.text& "'"
Adodc1.Refresh增-----------------Adodc1.Recordset.AddNew刪-------------Adodc1.Recordset.Delete 我的原作Dim a As String
Private Sub Combo1_Click()
If Combo1.ListIndex = 0 Then
Text1.Enabled = True
Text2.Enabled = True
Text3.Enabled = False
Combo3.Enabled = False
ElseIf Combo1.ListIndex = 1 Then
Text3.Enabled = True
Text1.Enabled = False
Text2.Enabled = False
Combo3.Enabled = False
ElseIf Combo1.ListIndex = 2 Then
Combo3.Enabled = True
Text1.Enabled = False
Text2.Enabled = False
Text3.Enabled = False
End IfEnd SubPrivate Sub Command1_Click()
If Combo1.ListIndex = -1 Then
MsgBox "請選擇查詢方式", , "提示"
ElseIf Combo1.ListIndex = 0 Then
Adodc1.CommandType = adCmdUnknown
If Text2.Text = "" Then
MsgBox "查詢范圍上限不可為空", , "提示"
Else
Adodc1.RecordSource = "select * from 基本信息 where 年齡>= " & Text1.Text & " and 年齡<= " & Text2.Text & " "
Adodc1.Refresh
End If
ElseIf Combo1.ListIndex = 1 Then
Adodc1.CommandType = adCmdUnknown
If Text3.Text = "" Then
MsgBox "確定內容為空?"
Adodc1.RecordSource = "select*from 基本信息 where 學號='" & Text3.Text & "'"
Adodc1.Refresh
Else
Adodc1.RecordSource = "select*from 基本信息 where 學號='" & Text3.Text & "'"
Adodc1.Refresh
End If
ElseIf Combo1.ListIndex = 2 Then
Adodc1.CommandType = adCmdUnknown
Adodc1.RecordSource = "select * from 基本信息 where 專業='" & Combo3.Text & "' "
Adodc1.Refresh
End IfEnd SubPrivate Sub Command2_Click()
Adodc1.Recordset.AddNew
End SubPrivate Sub Command3_Click()
Adodc1.Recordset.Delete
End SubPrivate Sub Command4_Click()
Adodc1.CommandType = adCmdUnknown
Adodc1.RecordSource = "select * from 基本信息"
Adodc1.Refresh
End SubPrivate Sub Command5_Click()
a = InputBox("請輸入查詢對象欄位", "自定義查詢")
Adodc1.CommandType = adCmdUnknown
Adodc1.RecordSource = "select*from 基本信息 where a"
Adodc1.Refresh
End SubPrivate Sub Form_Load()
Adodc1.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source=" + App.Path + "\" + "學生資料庫.mdb"
Adodc1.CommandType = adCmdUnknown
Adodc1.RecordSource = "select * from 基本信息"
Adodc1.Refresh
End Sub