如何用VB编写可以动态生成数据库和表的程序???

 我来答
missforone
2011-01-12 · TA获得超过161个赞
知道答主
回答量:192
采纳率:0%
帮助的人:155万
展开全部
那只是创建表.还不算动态,动态要二维数组,表达行和列.
如: Dim myDB As DAO.Database
Set myDB = DAO.Workspaces(0).CreateDatabase("d:\md\lll.mdb", dbLangGeneral)
myDB.Execute "Create Table " & 表名 & "(" & "id Counter," & mm1 & " Text(10))"
'生成一个d:\md\lll.mdb数据库存
myDB.Close
打断它:. 表名=数组 字段= combo2数组 字段属性= combo3数组
for..i=0 to combo2.ListCount-1'主工部分处理
myDB.Execute "Create Table " & 表名 & "(" & combo2.list(i) & combo3.list(i) ")"
next
这样生成的表就是一个完全动态的表名,行 列 字段都能自己定义的动态表,
调用查询/删/增/修改.都分别以数组

如:
cn.Open "provider=Microsoft.jet.OLEDB.4.0;data source=" & ur

sq = "select * from " & uyu & " where " & stm(3) & "='" & Form2.Text1(3) & "'"
rs.Open sq, cn, adOpenKeyset, adLockOptimistic
If rs.RecordCount > 0 Then
MsgBox "" & stm(3) & "重复,不能添加数据", vbExclamation, "查询"
rs.Close
cn.Close

查询:

For i = 1 To rs.RecordCount
Set Fliv = Form1.ListView1.ListItems.Add()
Fliv.Text = rs.Fields(stm(1))
For r = 1 To sn - 1
Fliv.SubItems(r) = rs.Fields(stm(r + 1))
Next
rs.MoveNext
Next i
'sts = stm(1) & "='" & Form3.Text1(1) & "', " & stm(2) & "='" & Form3.Text1(2) & "', " & stm(4) & "='" & Form3.Text1(4)
For r = 1 To sn - 1

rn = rn + stm(r) & "='" & Form3.Text1(r) & "', "

Next
sts = rn & stm(sn) & "='" & Form3.Text1(sn)
' Form3.Text1(sn).Enabled = False
sq = "Update " & uyu & " set " & sts & "' where " & stm(3) & "='" & Form3.Text1(3) & "'"
cn.Execute (sq)
MsgBox "数据修改完成", vbInformation, "修改"

cn.Close
Set cn = Nothing

Form1.ListView1.ListItems.Clear '先清空表格里的数据
加载列表数据
设成公用变量,全换成数组之后,反面简单明了..
只用提供表名,及字段马上就可以生成你需要数据库..动态数组的交集就是所需字
记录.查询和调用都极为便利.更重要的是大大减小了数据库负担
skygress2
2011-01-11 · TA获得超过483个赞
知道小有建树答主
回答量:404
采纳率:0%
帮助的人:232万
展开全部
引用 microsoft DAP 3.6 Object Library

Private Sub Form_Load()
Dim myDB As DAO.Database
Set myDB = CreateDatabase(App.Path + "\111.mdb", dbLangGeneral) '如果不存在数据库
Set myDB = OpenDatabase(App.Path + "\111.mdb") '如果存在数据库
Dim str_SQL As String
str_SQL = "Create Table NewTable1(Field1 Text(10),Field2 Short)"
myDB.Execute str_SQL
str_SQL = "Create Table NewTable2(Field1 Text(10),Field2 Short)"
myDB.Execute str_SQL
myDB.Close
End Sub

觉得好就加分哦!~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chenxfsoft
2011-01-11 · TA获得超过1380个赞
知道大有可为答主
回答量:2418
采纳率:0%
帮助的人:1837万
展开全部
就是执行一些DDL句子,
建数据库,你连接master,再create database
然后再连接 你建立的数据库,createtable。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乙桖卉k4
2011-01-11
知道答主
回答量:74
采纳率:0%
帮助的人:32.7万
展开全部

这里有全套视频教程,是上海交通大学VB2005课程你去看看

参考资料: http://www.vb2005.com/

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式