代码目的:
若数据库bbsDB已存在则打开bbsDB数据库,若不存在则创建bbsDB数据库。在分析器里输入如下内容:
USE master 
IF EXISTS (Select * FROM sysdatabases Where NAME='bbsDB') 
BEGIN
END --提示:在关键字 'END' 附近有语法错误。ELSE 
BEGIN
Create DATABASE bbsDB --若数据库不存在则创建数据库
ON 

NAME='bbsDB_data',
FILENAME='D:\data\bbsDB_data.mdf',
SIZE=10,
FILEGROWTH=20% 
)  
LOG ON 

NAME='bbsDB_log',
FILENAME='D:\data\bbsDB_log.ldf',
SIZE=1,
FILEGROWTH=10%,
MAXSIZE=20  
)  
END不知道为什么会提示说在关键字 'END' 附近有语法错误呢?难道if else不是这么用的吗?还是begin end的问题呢?纯纯的新手,谢谢!

解决方案 »

  1.   

    IF EXISTS (Select * FROM sysdatabases Where NAME='bbsDB')
    BEGIN
    print ''--里面必须有一条或以上语句
    END
      

  2.   

    USE master 
    IF NOT EXISTS (Select * FROM sysdatabases Where NAME='bbsDB') 
    BEGIN
    Create DATABASE bbsDB --若数据库不存在则创建数据库
    ...
    END
      

  3.   

    --这样就行了,IF不一定需要ELSE。
    IF NOT EXISTS (Select * FROM sysdatabases Where NAME='bbsDB')
    /*
    --或者
    IF DB_ID('bbsDB') IS NULL
    */
    BEGIN
    Create DATABASE bbsDB --若数据库不存在则创建数据库
    ON
    (
    NAME='bbsDB_data',
    FILENAME='D:\data\bbsDB_data.mdf',
    SIZE=10,
    FILEGROWTH=20%
    )
    LOG ON
    (
    NAME='bbsDB_log',
    FILENAME='D:\data\bbsDB_log.ldf',
    SIZE=1,
    FILEGROWTH=10%,
    MAXSIZE=20
    )
    END
      

  4.   

    谢谢楼上的几位朋友。
    还有个问题也想请教下,如果我想将数据库的路径改为当前项目的文件夹下,但项目所在的文件夹位置不确定,那该怎么写路径呢?
    比如本来路径是:FILENAME='D:\data\bbsDB_log.ldf',
    我试过这样写:FILENAME='...\data\bbsDB_log.ldf',但不行
    不知道该怎么写呢?
    (VC++6.0环境)谢谢!