① 利用Delphi開發網路資料庫應用
Delphi 是具可視化界面的面向對象編程語言 它以其功能強大 簡便易用等諸多特性 深受編程人員的歡迎 Delphi 中提供了資料庫引擎 BDE(Borland Database Engine) 並內含眾多的資料庫調用構件 為編程人員開發客戶/伺服器應用程序提供了方便 通常情況下 利用 Delphi 開發資料庫應用程序 可以使用TTable TDataSource TDBEdit TDBNavigator等構件 只要正確設置了構件的某些屬性 再編寫必要的程序代碼對一些特定事件進行處理 就能夠完成對多種資料庫進行的數據處理 例如 記錄的輸入 修改 刪除和查詢等 這樣做雖然只需要編寫極少量的程序代碼就能達到很好的效果 但如果在程序設計過程中 某些數據表的結構發生了改變 則必須修改與此數據表有關的所有構件的屬性 這將使程序員陷入繁瑣的重復勞動中
為避免上述的麻煩 我們可以在編寫網路資料庫應用程序時採用結構化查詢語言 sql(Structured Query Language) 這樣不僅可以更方便地與諸如 SQL Server Oracle 等各種後台資料庫進行動態的數據交換 而且可以使程序的修改和移植更加靈活 我們以數據輸入模塊為例 說明開發客戶/伺服器應用程序時如何採用 SQL 語句實現數據處理功能 首先 判斷是否已經有事務處理程序在運行 如果有 將其回卷(rollback) 如果沒有 則啟動一個新的事務 為數據的最終處理做准備 其次 是設置 SQL 語句 並將其寫入 TQuery 構件中 最後 將事務提交或回卷 至此完成一條記錄的數據輸入
下面是以頁面中的 TEdit 類型編輯框內容作為數據源 向資料庫輸入記錄的過程代碼
procere DataInsert(const qName:TQuery; szDBName:string;iNum:Integer; iMark:array of Integer;eName:array of TEdit); var i : Integer; szSQL : string; begin if DataMole DataBase InTransaction=true then DataMole DataBase RollBack; DataMole DataBase StartTransaction; szSQL := INSERT INTO +szDBName+ VALUES( for i:= to iNum do begin if iMark[i]= then szSQL := szSQL+eName[i] Text {非字元方式} else szSQL := szSQL+ +eName[i] Text+ ; {字元方式} if i=iNum then szSQL := szSQL+ ) else szSQL := szSQL+ ; end; qName Close; {關閉查詢} qName SQL Clear; {清SQL特性內容} qName SQL ADD(szSQL); {添加SQL內容} szSQL := SELECT * FROM +szDBName; qName SQL ADD(szSQL); qName Open; {返回結果集} DataMole DataBase Commit; end; 以上過程包含五個參數 實現從頁面中的一系列編輯框中讀取數據 並向指定數據表輸入的功能 其中 參數 qName 為頁面中所使用的 TQuery 類構件的名稱 參數 szDBName 是數據表的名稱 參數eName 是 TEdit 類型的數組 列出了頁面中包含數據的各編輯框名稱 參數 iNum 是數據表中的欄位個數 也即編輯框的個數 參數 iMark 是一個整數類型的數組 該參數表明相應欄位是以何種方式輸入的 如果是字元方式 需要在數據前後兩端加上引號 需要注意的是 在調用本過程之前 應將資料庫連接打開
DataMole DataBase Connected := true;
過程調用完成後 將資料庫連接斷開 DataMole DataBase Connected := false; 另外 開發網路資料庫應用程序時 還可以使用存儲過程 即 將預先編譯過的 SQL 語句存儲在伺服器上 存儲過程提前運行 且不與程序代碼一同存儲和編譯 因此其對應主程序中的代碼相對簡潔 運行速度也較快 SQL 語句的集中存放 使其修改更容易
要創建向數據表中輸入數據的存儲過程 代碼編寫舉例如下
CREATE PROC ProcTest @inttest *** allint @strtest char( ) output AS INSERT INTO TEST_User TRANS_TEST VALUES(@inttest @strtest) SELECT @strtest * FROM TEST_User TRANS_TEST 以上代碼向數據表 TEST_User TRANS_TEST 添加數據 該數據表包括兩個欄位 第一個欄位為 *** allint 類型的數據 參數類型定為 Input(在存儲過程中可預設) 第二個欄位數據為長度為 的字元類型 參數類型為 Output
其模塊程序的編寫與 DataInsert 過程相似 區別主要在於模塊的中間部分 對應的主要代碼如下
StoredProc Close; {關閉存儲過程} StoredProc Params[ ] ParamType := ptInput; {設置存儲過程的參數類型} StoredProc Params[ ] AsInteger := ; {設置存儲過程中參數的數據} StoredProc Params[ ] ParamType := ptOutput; StoredProc Params[ ] AsString := abcd ; StoredProc Open; {打開存儲過程} 其中 StoredProc 是 TStoredProc 類型的構件名稱 Params[ ] 是存儲過程中的第一個參數 對應存儲過程 ProcTest 可以用ParamByName( @inttest )代替 存儲過程的第二個參數與其類似
lishixin/Article/program/Delphi/201311/25067
② 請問《資料庫原理及其應用教程》這門課對計算機專業考研重要嗎
主要看考什麼專業的研究生,如果是計算機方面,肯定會涉及到資料庫原理及其應用方面的知識的。
資料庫原理及其應用:以關系資料庫系統為核心,系統全面地闡述了資料庫系統的基本概念、基本原理和應用技術,主要內容包括資料庫技術概述、關系資料庫、關系資料庫的標准語言SQL、關系資料庫設計、資料庫保護、網路資料庫、網路資料庫管理系統SQL Server 2000、分布式資料庫系統、XML資料庫等
考研,即參加碩士研究生入學考試。其英文表述是「Take part in the entrance exams for postgraate schools」。考研首先要符合國家標准,其次按照程序:與學校聯系、先期准備、報名、初試、調劑、復試、復試調劑、錄取等方面依次進行。
③ 求資料庫原理及應用視頻教程
上海交通大學資料庫系統及應用
全27講
鏈接:https://pan..com/s/155pxn4yyteJ70egCyq8zZg
提取碼:5r1g
上海交通大學資料庫系統及應用 全27講網路網盤
④ 如何使用php Myadmin創建Mysql資料庫
phpMyadmin是一個被普遍應用的網路資料庫管理系統,使用起來較為簡單,可以自動創建,也可以運行SQL語句創建,下面分別演示兩種方式創建Mysql資料庫的步驟:
一、使用菜單自動創建資料庫
登陸phpMyAdmin
在php MyAdmin右邊窗口中,填寫資料庫名稱,點創建即可。 例如我們這里創建一個名字為:cncmstest 的資料庫
備註:其實兩種創建資料庫方式本質是一樣的,第一種是利用系統菜單自動組合建庫SQL並執行,第二種是手動輸入建庫SQL,如果熟悉SQL操作的話,第二種更快捷。
⑤ 應用程序如何與資料庫建立連接
1、首先打開visual studio 2017開發工具進入軟體主界面。
⑥ 在網頁引用資料庫的詳細方法(如何引用資料庫數據)
1SQLServer2000常用的數據導入導出方法1
1通過DTS的設計器進行導入或導出DTS的設計器功能強大,支持多任務,也是可視化界面,易於操作,但熟悉的人一般不多,如果只是進行SQLServer資料庫中部分表的移動,用這種方法最好,當然,也可以進行全部表的移動
在SQLServerEnterpriseManager中,展開伺服器左邊的+,選擇資料庫,右擊,選擇Alltasks/ImportData
(或Alltasks/ExportData
),進入向導模式,然後按照提示一步一步進行就可以了,裡面分得非常詳細,可以靈活的在不同數據源之間復制數據,非常的方便,而且還可以另存成DTS包,如果以後還有相同的復制任務,直接運行DTS包就行,省時省力
也可以直接打開DTS設計器,方法是展開伺服器名稱下面的DataServices,選LocalPackages,在右邊的窗口中右擊,選NewPackage,就打開了DTS設計器
值得注意的是:檔鬧巧如果源資料庫要拷貝的表有外鍵,注意移動的順序,有時要分批移動,否則外鍵主鍵,索引可能丟失,移動的時候選項旁邊的提示說的很明白,或者一次性的復制到目標資料庫中,再重新建立外鍵,主鍵,索引
其實在建立資料庫時,建立外鍵,主鍵,索引的文件應該和建表文件分開,而且用的數據文件也分開,並分別放在不同的驅動器上,有利於資料庫的優化
1
2利用Bcp工具這種工具雖然在SQLServer2000的版本中不推薦使用,但許多資料庫管理員仍很喜歡用它,尤其是用過SQLServer早期版本的人
不過Bcp確實有其局限性,首先它的界面不是圖形化的;其次它只是在SQLServer的表(視圖)與文本文件之間進行復制
但是另一方面,它也有其優點:性能好,開銷小,佔用內存少,速度快
1
3利用備份和恢復先對源資料庫進行完全備份,備份到一個設備(device)上,然後把備份文件復制到目的伺服器上(恢復的速度快),進行資料庫的恢復操作,在恢復的資料庫名中填上源資料庫的名字(名字必須相同),選擇強制型恢復(可以覆蓋以前資料庫的選項),在選擇從設備中進行恢復,瀏覽時選中備份的文件就行了
這種方法可以完全恢復資料庫,包括外鍵,主鍵,索引
1
4直接拷貝數據文件把資料庫的數據文件(*
mdf)和日誌文件(*
ldf)都拷貝到目的伺服器,在SQLServerQueryAnalyzer中用語句進行恢復:EXECsp_attach_db@dbname=』test』,@filename1=』d:mssql7data est_data
mdf』,@filename2=』d:mssql7data est_log
ldf』這樣就把test資料庫附加到SQLServer中,可以照常使用,如果不想用原來的日誌文件,可以用如下的命令:EXECsp_detach_db@dbname=』test』EXECsp_attach_single_file_db@dbname=』test』,@physname=』d:mssql7data est_data
mdf』這個語句的作用是僅行鍵僅載入數據文件,日誌文件可以由SQLServer資料庫自動添加,但是原來的日誌文件中記錄的數據就丟失了
1
5在應用程序中定製可以在應用程序(PB、VB)中執行自己編寫的程序,也可以在QueryAnalyzer中執行,這種方法比較靈活,其實是利用一個平台連接到資料庫,在平台中用的主要是SQL語句,這種方法彎謹對資料庫的影響小,但是如果用到遠程鏈接伺服器,要求網路之間的傳輸性能好,一般有兩種語句:1
5
1select
intonew_tablenamewhere
1
5
2insert(into)old_tablenameselect
from
where
這兩種方式的區別是前者把數據插入一個新表(先建立表,再插入數據),而後者是把數據插入已經存在的一個表中,一般來說,第二條語句強於前者
1
6SQLServer的復制功能SQLServer提供了強大的數據復制功能,也是最不易掌握的,具體應用請參考相關資料,值得注意的是要想成功進行數據的復制工作,有些條件是必不可少的:1
6
1SQLServerAgent必須啟動,MSDTC必須啟動
1
6
2所有要復制的表必須有主鍵
1
6
3如果表中有text或image數據類型,必須使用withlog選項,不能使用withno_log選項
另外maxtextreplsize選項控制可以復制的文本和圖像數據的最大規模,超過這個限制的操作將失敗
1
6
4在要進行復制的計算機上,應該至少是隱含共享,即共享名是C$或D$
1
6
5為SQLServer代理使用的WindowsNT賬號不能是一個本地的系統賬號,因為本地的系統賬號不允許網路存取
1
6
6如果參與復制的伺服器在另外的計算機域中,必須在這些域之間建立信任關系
2實現基於網頁的資料庫數據導入那麼,如何實現基於網頁的資料庫數據導入呢,下面利用一個比較簡單的網路介紹一下
假設某區域網的網路拓撲結構如下所示:其中伺服器A和工作站B位於區域網內,工作站C與伺服器D位於Internet內,區域網與Internet是物理隔離的,工作站C與工作站D在同一個辦公室內,伺服器A上的資料庫管理系統是Oracle,伺服器D上的資料庫管理系統是SQLServer2000
由於工作需要,要求把伺服器A的有關數據導入到伺服器D上
2
1通常的工作流程:2
1
1在工作站B上運行客戶端軟體,將伺服器A上數據導入到本地的dbf文件
2
1
2用移動硬碟把dbf文件從工作站B拷貝到工作站C上
2
1
3在工作站C上,用ftp軟體將dbf文件上傳到伺服器D上
2
1
4在工作站C上,運行遠程桌面軟體登錄到伺服器D上
2
1
5在伺服器D上,執行DTS,將dbf文件中的數據導入到SQLServer資料庫
2
1
6在伺服器D上,運行相關存儲過程,做數據的後期處理工作
在許多情況下,因為各種不同情況的需要,這個工作流程每天(甚至更短的時間內)就要執行一次,非常繁瑣,而且使用手工操作,很容易出錯
下面提出一種改進的方案
2
2改進後的工作流程2
2
1在工作站B上運行客戶端軟體,將伺服器A上數據導入到本地的dbf文件
2
2
2用移動硬碟把dbf文件從工作站B拷貝到工作站C上
2
2
3在工作站C上,打開伺服器D上的相關網頁,利用網頁將dbf文件的數據導入到伺服器D上的SQLServer資料庫中
首先,要在網頁里實現上傳功能,把dbf文件從工作站C上傳到服務D上,這里就不多介紹了
要通過網頁把dbf文件導入到SQLServer中,需要藉助DTS可編程對象
DTS包含一組可編程COM對象,主要包含:DTS
Package、DTS
Connection、DTS
Step、DTS
、DTS
、DTS
在ASP網頁里,通過用VBScript腳本創建調用DTS可編程COM對象,可以完成數據導入任務
SQLServer2000有比較詳細的文檔資料介紹DTS編程,但沒有給一個具體的例子,如果僅參考文檔資料,難度比較大,開發時間也會相當長
這里大概的介紹一下開發程序的過程
首先,在SQLSever2000的DTS設計器里,創建DTS包,實現從dbf文件到SQLServer2000的數據導入,把後期處理的存儲過程也添加到DTS包里
將這個DTS包另存為VBScript文件
有了這個VBScript文件,開發程序就容易多了,加入所需要的其他代碼,就可以在網頁里實現資料庫的數據導入
參考文獻【1】張莉,等
SQLServer資料庫原理及應用教程〔M〕
北京:清華大學出版社,2003
【2】梁方明
SQLServer2000資料庫編程〔M〕
北京:北京希望電子出版社,2002
【3】LouisDavidson(美)
SQLServer2000資料庫設計權威指南〔M〕
中國電力出版社,2002
[