你得有数据库的权限cn.Execute "Create table AA(t1 char(10))"

解决方案 »

  1.   

    这不是ADO的问题,你用什么数据库,看看它建表的语句就知道了
      

  2.   

    为什么不先建好数据库,还用ado
      

  3.   

    我需要做的是用代码从头创建一个数据库,先建立数据库然后再建立各个表,建表我知道,但是怎样用代码创建一个SQL数据库呢?
      

  4.   

    ado.execute "create database ....."
      

  5.   

    楼上,这是创建 .mdb 的文件型的数据库吧,我要的是SQL呀 
      

  6.   

    这是一个SQL Server 2000的建表代码
    PRINT '完成'
    /****** Object:  Table [hd].[love]    Script Date: 2000/08/24 3:05:35 AM ******/
    CREATE TABLE [hd].[love] (
    [userid] [int] IDENTITY (1, 1) NOT NULL ,
    [username] [varchar] (16) NOT NULL ,
    [pwd] [varchar] (16) NOT NULL ,
    [name] [varchar] (20) NULL ,
            [sex] [varchar] (4) NULL ,
            [old] [int] NOT NULL ,
            [blood] [varchar] (4) NULL ,
            [star] [varchar] (20) NULL ,
            [national] [varchar] (20) NULL ,
            [high] [varchar] (10) NULL ,
    [weigh] [varchar] (10) NULL ,
    [like] [varchar] (10) NULL ,
            [marry] [varchar] (20) NULL ,
            [house] [varchar] (20) NULL ,
    [edu] [varchar] (20) NULL ,       
    [work] [varchar] (30) NULL ,
            [pos] [varchar] (15) NULL ,
            [money] [varchar] (10) NULL ,
    [email] [varchar] (20) NULL ,
            [phone] [varchar] (20) NULL ,
            [aboutme] [varchar] (50) NULL ,
            [abouther] [varchar] (50) NULL,
            [photo] [varchar] (30) NULL DEFAULT 0,
            [visit] [int]  NULL DEFAULT 0,
    [date] [datetime]  NOT NULL DEFAULT getDATE(),
    [allow] [varchar] (1) NULL DEFAULT 0,
    [itview] [varchar] (1) NULL DEFAULT 0
    )
    GOgrant all on love to publicPRINT '完成'至于建库我一直用企业管理器控制,很少用代码。很麻烦,要涉及到控制能够访问库的人员的权限。
      

  7.   

    这个总对了吧,我的代码里用的呀!Public Function Creat_Database(Paths As String, Files As String) As Boolean
    '在SQLserver 中建立一个库
    Dim SQL$
    SQL = ""
    SQL = SQL & "CREATE DATABASE " & Files
    SQL = SQL & " ON "
    SQL = SQL & "( NAME = '" & Files & "_dat',"
    SQL = SQL & "  FILENAME = '" & Paths & Files & "_dat.jdt',"
    SQL = SQL & "  SIZE = 10MB,"
    SQL = SQL & "  MAXSIZE = 50MB,"
    SQL = SQL & "  FILEGROWTH = 5MB )"
    SQL = SQL & "LOG ON"
    SQL = SQL & "( NAME = 'Sales_log',"
    SQL = SQL & "  FILENAME = '" & Paths & Files & "_log.jdt',"
    SQL = SQL & "  SIZE = 5MB,"
    SQL = SQL & "  MAXSIZE = 25MB,"
    SQL = SQL & "  FILEGROWTH = 5MB )"
    'On Error GoTo Err1
        Cm.Execute SQL
        Creat_Database = True
    Exit Function
    Err1:
        Creat_Database = False
    End Function
    Public Function Creat_Table(data As String, Files As String) As Boolean
    '本模块用于从*.sql中导入数据库结构到SQL Server
    Dim SQL, Txtline As String    On Error Resume Next
        Cn.Close
        On Error GoTo Err1
        ConSQL Load_ini("服务器名"), Load_ini("用户名"), Load_ini("口令"), data, "Cn"
        SQL = " "
        Open App.Path & "\log.txt" For Output As #2    ' 打开输出文件。
             ' 将错误数据写入文件。    Open App.Path & Files For Input As #1   ' 打开SQL文件。
            Do While Not EOF(1)
                Line Input #1, Textline
                If Not (Trim(Textline) = "GO") Then
                    SQL = SQL & Textline & Chr(13)
                Else
                    Cn.Execute SQL 'Mid(SQL, InStr(SQL, "C"))
                    SQL = " "
                End If
            Loop
        Close #1
        Close #2
        'If Creat_Table = False Then
        '    Shell App.Path & "\log.txt"
       'End If
        
    Exit Function
    Err1:
        Print #2, "This is a Error !"
        Print #2, Err.Description
        Print #2, Err.Number
        Print #2, "**********"
        Creat_Table = False
        Resume Next
    End Function
      

  8.   

     Set OServer = New SQLDMO.SQLServer
    OServer.Connect SQL_SRV, SQL_SA, SQL_IVECOM
        
                  
           TranSQL = "USE master" & _
                  " CREATE DATABASE " & UserName
                  
        OServer.ExecuteImmediate TranSQL, SQLDMOExec_Default
        
     '===================<Create User>=====================
        TranSQL = "use " & UserName & " EXEC sp_addlogin '" & UserName & "','" & UserPassword & "'"
        OServer.ExecuteImmediate TranSQL, SQLDMOExec_Default
        
     '===================<Add User to Database>===========
     
        TranSQL = "use " & UserName & " EXEC sp_adduser '" & UserName & "'"
        OServer.ExecuteImmediate TranSQL, SQLDMOExec_Default
        
     '=============<Define Current Database as User Default Database>=====
        
        TranSQL = "use " & UserName & " EXEC sp_defaultdb " & UserName & "," & UserName
        OServer.ExecuteImmediate TranSQL, SQLDMOExec_Default
        
     '==========================<向车载机发送信息记录表>===================
        
        TranSQL = "use " & UserName & _
        " create table  dkhdxxfsb " & _
        " (Car_Unit_ID      varchar(20)   PRIMARY KEY  NOT NULL         , " & _
        "Send_Time          datetime       NOT NULL DEFAULT(getdate())  , " & _
        "Info_Type          varchar(1)                                  , " & _
        "Content            varchar(100)                                , " & _
        "Re             varchar(50)                                ) "
        
        OServer.ExecuteImmediate TranSQL, SQLDMOExec_Default
        
        TranSQL = "use " & UserName & " GRANT  SELECT , INSERT , DELETE , UPDATE  ON  dkhdxxfsb  TO " & UserName
        OServer.ExecuteImmediate TranSQL, SQLDMOExec_Default
        
     '===========================<车机定位信息表>==========================
        
        TranSQL = "use " & UserName & _
        " create table  cjdwxxb " & _
        " (Car_Unit_ID      varchar(20)   PRIMARY KEY  NOT NULL         , " & _
        "Car_Unit_Tel       varchar(25)    NOT NULL                     , " & _
        "Send_Time          datetime                                    , " & _
        "Rec_Time           datetime       NOT NULL DEFAULT(getdate())  , " & _
        "Old_Info           varchar(50)    NOT NULL                     , " & _
        "Info_Type          varchar(1)     NOT NULL                     , " & _
        "CS_Info            varchar(150)   NOT NULL                     ) "
        
        OServer.ExecuteImmediate TranSQL, SQLDMOExec_Default
        
        TranSQL = "use " & UserName & " GRANT  SELECT , INSERT , DELETE , UPDATE  ON  cjdwxxb  TO " & UserName
        OServer.ExecuteImmediate TranSQL, SQLDMOExec_Default
        OServer.Close
        Set OServer = Nothing
      

  9.   

    先Create Database ,再create Table。
    SQL的语法大多数据库的书上都有讲。