下面是一个用ADO创建数据库的程序例子中代码
但不能正确运行
    On Error GoTo DealError
    Dim objCon As Connection, strCn As String, strSQL As String
    Set objCon = New Connection
    '
    strCn = "Provider=SQLOLEDB.1;User ID=sa;Data Source=(local)"
    objCon.ConnectionString = strCn
    objCon.open
    '
    strSQL = "CREATE DATABASE 实例2库"
    objCon.Execute strSQL
    MsgBox "成功创建数据库"
    objCon.Close
    '
    strCn = "Provider=SQLOLEDB.1;User ID=sa;" & "Data Source=(local);Intial Catalog=实例2库"
    objCon.ConnectionString = strCn
    objCon.open
    '
    strSQL = "CREATE TABLE 测试表(" & _
            "用户名 valchar(13) not null primary key," & _
            "口令 char(6) not null)"
    objCon.Execute strSQL
    MsgBox "成功创建数据库表"
    
    strSQL = "INSERT 测试表(用户名,口令)" & _
        "VALUES('Administrator',123456)"
    objCon.Execute strSQL
    strSQL = "INSERT 测试表(用户名,口令)" & _
        "VALUES('Admin',13578)"
    objCon.Execute strSQL
    strSQL = "INSERT 测试表(用户名,口令)" & _
        "VALUES('叮当',123321)"
    objCon.Execute strSQL
    MsgBox "成功为表添加了三条记录"
    '
    objCon.Close
    Set objCon = Nothing
    '
    Command2.Enabled = True
    End Sub
DealError:
    '
    MsgBox "数据库创建过程出错" & Err.Description

解决方案 »

  1.   

    口令是字符串,应当加单引号括起来
    strSQL = "INSERT 测试表(用户名,口令)" & _
            "VALUES('Administrator','123456')"
        objCon.Execute strSQL
        strSQL = "INSERT 测试表(用户名,口令)" & _
            "VALUES('Admin','13578')"
        objCon.Execute strSQL
        strSQL = "INSERT 测试表(用户名,口令)" & _
            "VALUES('叮当','123321')"
        objCon.Execute strSQL
      

  2.   

    这里还少了一个exit subDealError:
        '
        MsgBox "数据库创建过程出错" & Err.Description
      

  3.   

    是少了个exit sub。
    但在调试时,在前二行就会出现问题。内容如下:编译错误:
    标签未定义!
      

  4.   

    objCon.Close
        Set objCon = Nothing
        '
        Command2.Enabled = True
    ‘××××××××××××××
     '   End Sub
    '这里出错了...你报的那个错误是因为,你在这里写了END SUB 程序认为这个Function已经结束了,
    '但是没有发现在这个程序里有DealError标签。你吧这个改成EXIT SUB 就可以了
    ’***************************DealError:
        '
        MsgBox "数据库创建过程出错" & Err.Description
      

  5.   

    你定义了错误处理,就必须在FUNCTION中写上对应的错误处理,就算之标记了错误处理标签位置而不做任何错误处理,如:
    public function  xx ()
    On Error GoTo DealError
    '.....
    DealError:end sub 否则编译会提示标签未定义!
      

  6.   

    谢谢你的答复!creazyfish(梳分头的鱼)!
      

  7.   

    strCn = "Provider=SQLOLEDB.1;User ID=sa;PWD=123;Data Source=(local);Intial Catalog=实例2库"
        objCon.ConnectionString = strCn
        objCon.Open上面的代码会有错误吗?
    为什么会出现:数据库创建过程出错'sa'用户登录失败的问题。
    急盼答复!谢谢答复!