久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

初探ERP的數(shù)據(jù)庫框架

 FRANKSXIA 2011-11-29

初探ERP的數(shù)據(jù)庫框架

開發(fā)者在線 Builder.com.cn更新時間:2007-10-17作者:佚名 來源:論壇

本文關(guān)鍵詞: erp數(shù)據(jù)庫框架

在ERP的軟件中,,數(shù)據(jù)庫是它的靈魂。每一個ERP軟件都有自己的數(shù)據(jù)庫,,而這些數(shù)據(jù)庫中最關(guān)鍵的是數(shù)據(jù)庫框架,。那么什么是數(shù)據(jù)庫框架?他的作用是什么,?為什么要在安裝時搭建數(shù)據(jù)庫框架,?本文就來解答這些問題。

  在編寫ERP,,MIS,,S/B等數(shù)據(jù)庫的應(yīng)用程序時,首先要做的一件事就是建立數(shù)據(jù)庫框架,,它至少包括:數(shù)據(jù)庫和數(shù)據(jù)庫中的表,,當(dāng)然還有視圖,、存儲過程等,,這就是數(shù)據(jù)庫框架(不含具體的數(shù)據(jù)),。然后是使用vb,vc,,vfp,,pb等編程語言開發(fā)用戶界面,接受用戶對數(shù)據(jù)庫的操作,。當(dāng)你成功的開發(fā)了一個ERP軟件后,,你需要將它打包,最后交給客戶安裝并使用,。這時就有一個問題,,當(dāng)你打包的時候,不可以將sql server打包到安裝程序中,,所以用戶在使用時就必須先建立數(shù)據(jù)庫框架,,而用戶并不知道數(shù)據(jù)庫的框架結(jié)構(gòu),ERP軟件又必須訪問特定的數(shù)據(jù)庫框架才可以成功運(yùn)行,,這時我們就需要有一個可以自動生成數(shù)據(jù)庫框架的程序,。舉個例:當(dāng)開發(fā)一個人力資源管理系統(tǒng)時,需要一個數(shù)據(jù)庫框架,,這最起碼在數(shù)據(jù)庫包含一個表,,表中包含姓名,年齡,,工資等信息,,然后通過客戶端來訪問這個表。如果沒有這個表,,程序就不可能成功的運(yùn)行?,F(xiàn)在大家清楚了什么是數(shù)據(jù)庫框架和他的作用了吧!

  現(xiàn)在的ERP軟件中都帶有自動生成數(shù)據(jù)庫框架的功能,,不同軟件的實(shí)現(xiàn)方法不同,,總結(jié)一下,大約有3種:

  1.以向?qū)У男问匠霈F(xiàn),;

  2.在安裝時以配置系統(tǒng)的形式出現(xiàn),;

  3.集成在主程序中,當(dāng)主程序第一次運(yùn)行的時候自動生成數(shù)據(jù)庫框架,。

  不論是那種方式,,他們的用途都是一樣。

  如果大家有《管家婆》的ERP,,可以安裝來看看,。它要求先安裝sql server ,,安裝完后打開sql server你會發(fā)現(xiàn)sql server數(shù)據(jù)庫中只有它默認(rèn)的幾個數(shù)據(jù)庫,并沒什么不同,。接著開始安裝《管家婆》,,安裝完后隨便用一下他的功能,再大開sql server你會發(fā)現(xiàn),,數(shù)據(jù)庫已不同了,,增加了一些數(shù)據(jù)庫(增加的數(shù)據(jù)庫因使用的功能和《管家婆》的版本不同而不同)。這些增加的數(shù)據(jù)庫就是為了使用數(shù)據(jù)庫框架自動生成,。

  那么,,如何用程序?qū)崿F(xiàn)自動生成數(shù)據(jù)庫框架?現(xiàn)在,,我們就來創(chuàng)建一個這樣的程序,。在本程序中共建立5個按鈕分別是:建立數(shù)據(jù)庫,建立表,,建立約束,,建立存儲過程,顯示數(shù)據(jù),。實(shí)現(xiàn)的代碼如下:

Public Class Form1
Inherits System.Windows.Forms.Form
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
Dim con As New OleDb.OleDbConnection("Provider=SQLOLEDB.1;Integrated
Security=SSPI;Persist Security Info=False;Initial Catalog=Northwind;Data
Source=.;Use Procedure for Prepare=1;Auto Translate=True;Packet
Size=4096;Workstation ID=J;Use Encryption for Data=False;Tag with column collation
when possible=False")
con.Open()
Dim cmd As New OleDb.OleDbCommand("create database jk", con)
cmd.ExecuteNonQuery()
con.Close()
'建立數(shù)據(jù)庫
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
Dim con2 As New OleDb.OleDbConnection("Provider=SQLOLEDB.1;Integrated
Security=SSPI;Persist Security Info=False;Initial Catalog=jk;Data Source=.;Use
Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=J;Use
Encryption for Data=False;Tag with column collation when possible=False")
con2.Open()
Dim cmd As New OleDb.OleDbCommand("create table kk(id int identity(1,1) not
null constraint id primary key,name char(4) not null)", con2)
cmd.ExecuteNonQuery()
Dim cmd2 As New OleDb.OleDbCommand("create table pp(id int not null,ads
char(20) null)", con2)
cmd2.ExecuteNonQuery()
con2.Close()
'建立2個表
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
Dim con2 As New OleDb.OleDbConnection("Provider=SQLOLEDB.1;Integrated
Security=SSPI;Persist Security Info=False;Initial Catalog=jk;Data Source=.;Use
Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=J;Use
Encryption for Data=False;Tag with column collation when possible=False")
con2.Open()
Dim com As New OleDb.OleDbCommand("alter table pp add primary key (id)",
con2)
com.ExecuteNonQuery()
con2.Close()
'建立約束
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button4.Click
Dim con2 As New OleDb.OleDbConnection("Provider=SQLOLEDB.1;Integrated
Security=SSPI;Persist Security Info=False;Initial Catalog=jk;Data Source=.;Use
Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=J;Use
Encryption for Data=False;Tag with column collation when possible=False")
con2.Open()
Dim com As New OleDb.OleDbCommand("create proc procname as select * from
kk", con2)
com.ExecuteNonQuery()
con2.Close()
'建立存儲過程
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button5.Click
Dim con2 As New OleDb.OleDbConnection("Provider=SQLOLEDB.1;Integrated
Security=SSPI;Persist Security Info=False;Initial Catalog=jk;Data Source=.;Use
Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=J;Use
Encryption for Data=False;Tag with column collation when possible=False")
Dim com As New OleDb.OleDbCommand("procname", con2)
Dim da As New OleDb.OleDbDataAdapter()
da.SelectCommand = com
Dim ds As New DataSet()
da.Fill(ds)
DataGrid1.DataSource = ds
'顯示數(shù)據(jù)
End Sub
End Class

  在Button1_Click中,,連接對象的連接字符串和其他Button_Click中的連接字符串不同。因?yàn)槲议T要創(chuàng)建一個新的數(shù)據(jù)庫jk,,但是這個數(shù)據(jù)庫并不存在,,所以要通過這個連接讓它連接到一個sql server中已有的數(shù)據(jù)庫,獲得對整個sql server的的訪問控制權(quán)限,,再建立jk數(shù)據(jù)庫,。而其它的Button_Click直接連接到j(luò)k數(shù)據(jù)庫。因?yàn)槲覀円趈k數(shù)據(jù)庫中建立表,,存儲過程,,約束,顯示數(shù)據(jù),。

  程序中Button2_Click建立了兩個表,,kk和pp。其中kk包括一個種子列并且設(shè)定為主鍵,。Pp是一個一般的表,,在Button3_Click中建立它的主鍵約束。當(dāng)然我們也可以建立其它的約束,,只要改變t-sql語句就可以了,。

  Button_Click的存儲過程是查詢kk表中數(shù)據(jù),由于沒有輸入到kk表中的數(shù)據(jù),,所以運(yùn)行后將會看見kk表是空的,。但是這并不重要,,因?yàn)閷τ贓RP來說,所有的數(shù)據(jù)都是可以在客戶端輸入的,,要的只是數(shù)據(jù)庫框架,。
細(xì)心的讀者一定會發(fā)現(xiàn)我沒有建立表的關(guān)系,其實(shí)大家想一下在sql server中雖然提供了可視工具來創(chuàng)建表的關(guān)系,,但是說到底還是用的t-sql語句來建立,,不信的話大家可以打開腳本文件來看看,,如果你有微軟的sql server的培訓(xùn)教材,,打開實(shí)驗(yàn)部分看看就會發(fā)現(xiàn),表的關(guān)系是用t-sql語句來寫的,,你只要將本文的存儲過程的語句變成相應(yīng)的關(guān)系語句就可以了,。對于視圖也是一樣。

  在測試這個程序時請大家按照Button1,,Button2,,Button3, Button4,,Button5的順序來單擊,,這樣就可以完成建立數(shù)據(jù)庫框架的功能,你也可以把前4個部分寫到一個模塊中,。由于每一臺計算機(jī)的數(shù)據(jù)庫服務(wù)器的名字不一樣,,所以在測試代碼時要將連接字符串中的服務(wù)器指定為當(dāng)前的數(shù)據(jù)庫服務(wù)器名字。

  本文所介紹的實(shí)例在win2000 sp2, sql server 2000中驗(yàn)證通過,。

查看本文來源

推薦閱讀與 erp數(shù)據(jù)庫框架 相關(guān)開發(fā)者在線內(nèi)容

erp 數(shù)據(jù)庫 框架相關(guān)資訊

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多