收藏本站 网站地图
网页特效 实用工具 意见建议
您现在的位置: 电脑志|PCzhi.com >> 编程开发 >> 数据库开发 >> 文章正文  
快速搭建ERP的数据库框架
来源:网络  作者:佚名  时间:2007-9-9 21:03:50  【字体: 】 [IE收藏] [QQ书签收藏]

(本文以sql server为数据库服务器,t-sql是标准sql语言的扩充。)在ERP的软件中,数据库是它的灵魂。每一个ERP软件都有自己的数据库,而这些数据库中最关键的是数据库框架。那么什么是数据库框架?他的作用是什么?为什么要在安装时搭建数据库框架?本文就来解答这些问题。

  在编写ERP,MIS,S/B等数据库的应用程序时,首先要做的一件事就是建立数据库框架,它至少包括:数据库和数据库中的表,当然还有视图、存储过程等,这就是数据库框架(不含具体的数据)。然后是使用vb,vc,vfp,pb等编程语言开发用户界面,接受用户对数据库的操作。当你成功的开发了一个ERP软件后,你需要将它打包,最后交给客户安装并使用。这时就有一个问题,当你打包的时候,不可以将sql server打包到安装程序中,所以用户在使用时就必须先建立数据库框架,而用户并不知道数据库的框架结构,ERP软件又必须访问特定的数据库框架才可以成功运行,这时我们就需要有一个可以自动生成数据库框架的程序。举个例:当开发一个人力资源管理系统时,需要一个数据库框架,这最起码在数据库包含一个表,表中包含姓名,年龄,工资等信息,然后通过客户端来访问这个表。如果没有这个表,程序就不可能成功的运行。现在大家清楚了什么是数据库框架和他的作用了吧!

  现在的ERP软件中都带有自动生成数据库框架的功能,不同软件的实现方法不同,总结一下,大约有3种:

  1.以向导的形式出现;

  2.在安装时以配置系统的形式出现;

  3.集成在主程序中,当主程序第一次运行的时候自动生成数据库框架。

  不论是那种方式,他们的用途都是一样。    

    如果大家有《管家婆》的ERP,可以安装来看看。它要求先安装sql server ,安装完后打开sql server你会发现sql server数据库中只有它默认的几个数据库,并没什么不同。接着开始安装《管家婆》,安装完后随便用一下他的功能,再大开sql server你会发现,数据库已不同了,增加了一些数据库(增加的数据库因使用的功能和《管家婆》的版本不同而不同)。这些增加的数据库就是为了使用数据库框架自动生成。

  那么,如何用程序实现自动生成数据库框架?现在,我们就来创建一个这样的程序。在本程序中共建立5个按钮分别是:建立数据库,建立表,建立约束,建立存储过程,显示数据。实现的代码如下:

  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()

  '建立数据库

  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

  '显示数据

  End Sub

  End Class

[1] [2] 下一页

  • 上一篇文章:
  • 下一篇文章:
  • 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系网站管理员,我们尽快予以更正。
    最新推荐
  • 此栏目下没有推荐文章
  • 最新热门
    展望微软下一代数据库系统
    如何调整SQL语句性能
    SQL Server数据库的一些攻击
    SQL Server 2000的安全配置
    快速搭建ERP的数据库框架
    精妙SQL语句
    新版SQL Server将嵌入下一代视窗
    IIS、ASP.NET和SQLServer的安全性问题
    Visual C#的SQL Server编程
    :::::: 关于我们版权申明联系我们广告服务友情链接网站地图最近更新最新推荐 ::::::
    © CopyRight 2007, PCzhi.com, Inc. All Rights Reserved
    鄂ICP备07502343号