Ado中如何在数据库中创建一个表。

jinzhao 2002-08-11 01:47:56
在编写VB数据的程序时用Ado控件 ,请问如何在程序运行中,对数据库创建表?或复制一个现有表的结构?
...全文
193 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
gpo2002 2002-08-19
  • 打赏
  • 举报
回复
引用 Microsoft ADO Ext. 2.6 for DDL and Security


创建表范例


如下代码演示如何创建新表。

Sub CreateTable()

Dim tbl As New Table
Dim cat As New ADOX.Catalog

'打开目录。
' 打开目录。
cat.ActiveConnection = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=c:\Program Files\Microsoft Office\" & _
"Office\Samples\Northwind.mdb;"

tbl.Name = "MyTable"
tbl.Columns.Append "Column1", adInteger
tbl.Columns.Append "Column2", adInteger
tbl.Columns.Append "Column3", adVarWChar, 50
cat.Tables.Append tbl

End Sub

ww_wyc 2002-08-19
  • 打赏
  • 举报
回复
模块:

Public J_CNObj As New ADODB.Connection

Public Function ConnectServer(StrServerName As String, StrUserID As String, StrPassword As String) As Boolean
On Error GoTo connecterrhand
J_CNObj.ConnectionString = "SERVER=" & StrServerName & ";PROVIDER=SQLOLEDB" & _
";UID=" & StrUserID & ";PWD=" & StrPassword
J_CNObj.Open
ConnectServer = True '成功
Exit Function
connecterrhand:
ConnectServer = False '失败
End Function


创建表

Dim rsstr As New ADODB.Command
rsstr.ActiveConnection = J_CNObj
rsstr.CommandText = "CREATE DATABASE " & Trim(TxtDBinfo(0)) & ""
rsstr.Execute
rsstr.CommandText = "CREATE TABLE " & Trim(TxtDBinfo(0)) & ".dbo.QY ( " & _
"DMZH varchar(16) Not null ," & _
"BZZSH varchar(20) Not null ," & _
"QYMC varchar(30) Not null ," & _
"QYPH varchar(8) Not null ," & _
"BZSXH int Not null ," & _
"LFH varchar(8) Not null ," & _
"SSJDM VARChar(10) Not null," & _
" constraint QYpk primary key (DMZH) ) "
rsstr.Execute

这是我在SQL下用的,自己改改吧
wxqjl007 2002-08-14
  • 打赏
  • 举报
回复
Dim cnn As ADODB.Connection

Sql = "if not exists (select * from sysobjects where id = object_id(N'[dbo].[led_NowSend]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) " _
& "CREATE TABLE [dbo].[led_NowSend] (" _
& "[ID] [int] IDENTITY (1, 1) NOT NULL ," _
& "[CC_DATE] [char] (8) NULL ," _
& "[CCID] [int] NULL ," _
& "[Train_No] [char] (10) NOT NULL ," _
& "[G_NO] [int] NOT NULL ," _
& "[OldGD] [int] NOT NULL ," _
& "[ZT] [int] NOT NULL ," _
& "[F_TIME] [datetime] NOT NULL ," _
& "[F_STATION] [char] (10) NOT NULL ," _
& "[FE_STATION] [char] (20) NULL ," _
& "[J_TIME] [datetime] NOT NULL ," _
& "[J_STATION] [char] (10) NOT NULL ," _
& "[JE_STATION] [char] (20) NULL ," _
& "[HCT] [char] (20) NULL ," _
& "[FSSX] [int] NOT NULL ," _
& "[WDBZ] [char] (1) NOT NULL ," _
& "[STATUSCHAR] [char] (30) NULL ," _
& "[STATUS] [char] (1) NOT NULL ," _
& "[KJ] [char] (1) NULL" _
& ") ON [PRIMARY]"cnn.Execute Sql
jinzhao 2002-08-14
  • 打赏
  • 举报
回复
烦麻再问一个问题。
创建日期字段用什么?
如Date Date来创建一个日期字段会错误?
还有二进制字段?
还备注的Meno字段。
jinzhao 2002-08-14
  • 打赏
  • 举报
回复
在数据库中创建表,只有这种方法吗?
cnn.Execute "create table "
footballboy 2002-08-12
  • 打赏
  • 举报
回复
cnn.Execute "create table newtable(ID counter PRIMARY KEY,StudentName text(8),age long,sex logical,salary currency)"
jinzhao 2002-08-12
  • 打赏
  • 举报
回复
cnn.Execute "create table newtable(StudentName text(8),age long,sex logical,salary currency)"
这种方法如何创建自动编号字段,如ID字段。
footballboy 2002-08-12
  • 打赏
  • 举报
回复
Dim cnn As ADODB.Connection

Private Sub Form_Load()
Set cnn = New ADODB.Connection
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\temp.mdb"
End Sub

'往数据库中添加一个新表
Private Sub Command1_Click()
cnn.Execute "create table newtable(ID counter,StudentName text(8),age long,sex logical,salary currency)"
End Sub
jinzhao 2002-08-12
  • 打赏
  • 举报
回复
这一句出错:ID counter PRIMARY KEY
不行啊。
Create Table 语句出错。
footballboy 2002-08-11
  • 打赏
  • 举报
回复
以ACCESS数据库为例,在数据库中创建一个表newtable,它有以下字段:
StudentName-文本
age-长整型
sex-逻辑型
salary-货币型
cnn.Execute "create table newtable(StudentName text(8),age long,sex logical,salary currency)"
网络咖啡 2002-08-11
  • 打赏
  • 举报
回复
creat table,呵呵

使用SQL啊
hfamwu 2002-08-11
  • 打赏
  • 举报
回复
就在ADO中运行DDL语言就行了,还有个ADOX控制也行

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧