|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我们分析上面的两个操作,都有一个“删除数据”的过程。(本文以sqlserver为数据库服务器,t-sql是尺度sql言语的扩大。)在ERP的软件中,数据库是它的魂灵。每个ERP软件都有本人的数据库,而这些数据库中最关头的是数据库框架。那末甚么是数据库框架?他的感化是甚么?为何要在安装时搭建数据库框架?本文就来解答这些成绩。
在编写ERP,MIS,S/B等数据库的使用程序时,起首要做的一件事就是创建数据库框架,它最少包含:数据库和数据库中的表,固然另有视图、存储历程等,这就是数据库框架(不含详细的数据)。然后是利用vb,vc,vfp,pb等编程言语开辟用户界面,承受用户对数据库的操纵。当你乐成的开辟了一个ERP软件后,你必要将它打包,最初交给客户安装并利用。这时候就有一个成绩,当你打包的时分,不成以将sqlserver打包到安装程序中,以是用户在利用时就必需先创建数据库框架,而用户其实不晓得数据库的框架布局,ERP软件又必需会见特定的数据库框架才能够乐成运转,这时候我们就必要有一个能够主动天生数据库框架的程序。举个例:当开辟一团体力资本办理体系时,必要一个数据库框架,这最最少在数据库包括一个表,表中包括姓名,岁数,人为等信息,然后经由过程客户端来会见这个表。假如没有这个表,程序就不成能乐成的运转。如今人人分明了甚么是数据库框架和他的感化了吧!
如今的ERP软件中都带有主动天生数据库框架的功效,分歧软件的完成办法分歧,总结一下,约莫有3种:
1.以导游的情势呈现;
2.在安装时以设置体系的情势呈现;
3.集成在主程序中,当主程序第一次运转的时分主动天生数据库框架。
不管是那种体例,他们的用处都是一样。
假如人人有《管家婆》的ERP,能够安装来看看。它请求先安装sqlserver,安装完后翻开sqlserver你会发明sqlserver数据库中只要它默许的几个数据库,并没甚么分歧。接着入手下手安装《管家婆》,安装完后任意用一下他的功效,再年夜开sqlserver你会发明,数据库已分歧了,增添了一些数据库(增添的数据库因利用的功效和《管家婆》的版本分歧而分歧)。这些增添的数据库就是为了利用数据库框架主动天生。
那末,怎样用程序完成主动天生数据库框架?如今,我们就来创立一个如许的程序。在本程序中共创建5个按钮分离是:创建数据库,创建表,创建束缚,创建存储历程,显现数据。完成的代码以下:
PublicClassForm1
InheritsSystem.Windows.Forms.Form
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)
HandlesButton1.Click
DimconAsNewOleDb.OleDbConnection("Provider=SQLOLEDB.1;Integrated
Security=SSPI;PersistSecurityInfo=False;InitialCatalog=Northwind;Data
Source=.;UseProcedureforPrepare=1;AutoTranslate=True;Packet
Size=4096;WorkstationID=J;UseEncryptionforData=False;Tagwithcolumncollation
whenpossible=False")
con.Open()
DimcmdAsNewOleDb.OleDbCommand("createdatabasejk",con)
cmd.ExecuteNonQuery()
con.Close()
创建数据库
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAs
System.EventArgs)HandlesButton2.Click
Dimcon2AsNewOleDb.OleDbConnection("Provider=SQLOLEDB.1;Integrated
Security=SSPI;PersistSecurityInfo=False;InitialCatalog=jk;DataSource=.;Use
ProcedureforPrepare=1;AutoTranslate=True;PacketSize=4096;WorkstationID=J;Use
EncryptionforData=False;Tagwithcolumncollationwhenpossible=False")
con2.Open()
DimcmdAsNewOleDb.OleDbCommand("createtablekk(idintidentity(1,1)not
nullconstraintidprimarykey,namechar(4)notnull)",con2)
cmd.ExecuteNonQuery()
Dimcmd2AsNewOleDb.OleDbCommand("createtablepp(idintnotnull,ads
char(20)null)",con2)
cmd2.ExecuteNonQuery()
con2.Close()
创建2个表
EndSub
PrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAs
System.EventArgs)HandlesButton3.Click
Dimcon2AsNewOleDb.OleDbConnection("Provider=SQLOLEDB.1;Integrated
Security=SSPI;PersistSecurityInfo=False;InitialCatalog=jk;DataSource=.;Use
ProcedureforPrepare=1;AutoTranslate=True;PacketSize=4096;WorkstationID=J;Use
EncryptionforData=False;Tagwithcolumncollationwhenpossible=False")
con2.Open()
DimcomAsNewOleDb.OleDbCommand("altertableppaddprimarykey(id)",
con2)
com.ExecuteNonQuery()
con2.Close()
创建束缚
EndSub
PrivateSubButton4_Click(ByValsenderAsSystem.Object,ByValeAs
System.EventArgs)HandlesButton4.Click
Dimcon2AsNewOleDb.OleDbConnection("Provider=SQLOLEDB.1;Integrated
Security=SSPI;PersistSecurityInfo=False;InitialCatalog=jk;DataSource=.;Use
ProcedureforPrepare=1;AutoTranslate=True;PacketSize=4096;WorkstationID=J;Use
EncryptionforData=False;Tagwithcolumncollationwhenpossible=False")
con2.Open()
DimcomAsNewOleDb.OleDbCommand("createprocprocnameasselect*from
kk",con2)
com.ExecuteNonQuery()
con2.Close()
创建存储历程
EndSub
PrivateSubButton5_Click(ByValsenderAsSystem.Object,ByValeAs
System.EventArgs)HandlesButton5.Click
Dimcon2AsNewOleDb.OleDbConnection("Provider=SQLOLEDB.1;Integrated
Security=SSPI;PersistSecurityInfo=False;InitialCatalog=jk;DataSource=.;Use
ProcedureforPrepare=1;AutoTranslate=True;PacketSize=4096;WorkstationID=J;Use
EncryptionforData=False;Tagwithcolumncollationwhenpossible=False")
DimcomAsNewOleDb.OleDbCommand("procname",con2)
DimdaAsNewOleDb.OleDbDataAdapter()
da.SelectCommand=com
DimdsAsNewDataSet()
da.Fill(ds)
DataGrid1.DataSource=ds
显现数据
EndSub
EndClass
刚安装好的MySql包含一个含空密码的root帐户和一个匿名帐户,这是很大的安全隐患,对于一些重要的应用我们应将安全性尽可能提高,在这里应把匿名帐户删除、root帐户设置密码 |
|