以编程方式创建SQL db

时间:2015-03-23 17:57:20

标签: c# sql-server ado.net

如何以编程方式创建SQL数据库(和tables.etc)?

我使用过SQLite,非常简单直接。但是我见过SQL的例子,每个人都避免以编程方式创建数据库(使用:CREATE DATABASE ...)。

以下是我以前用过的SQLite代码连接数据库,执行查询和创建表(如果它不存在):

    //SET UP CONNECTION STRING
    private void SetConnection()
    {
        sqlconnection = new SQLiteConnection(@"Data Source= C:\Users\John\Desktop\database1.db; Version=3; Compress=True;");
    }

    //GENERAL 'EXECUTE QUERY' FUNCTION TO EXECUTE CREATECOMMAND QUERIES
    private void ExecuteQuery(string txtQuery)
    {
        SetConnection();
        sqlconnection.Open();
        sqlcmd = sqlconnection.CreateCommand();
        sqlcmd.CommandText = txtQuery;
        sqlcmd.ExecuteNonQuery();
        sqlconnection.Close();
    }

    //TABLE CREATED/LOADED WHEN 'ADD ITEM' PAGE LOADS
    private void add_Load(object sender, EventArgs e)
    {
        SetConnection();
        sqlconnection.Open();
        sqlcmd = sqlconnection.CreateCommand();
        sqlcmd.CommandText = "CREATE TABLE IF NOT EXISTS [table1] ([id] INTEGER PRIMARY KEY AUTOINCREMENT, [item] VARCHAR NOT NULL, [quantity] INTEGER NOT NULL)";
        sqlcmd.ExecuteNonQuery();
        sqlconnection.Close();
    }

我想知道的是,是否可以设置SQL数据库并以与我使用SQLite类似的方式使用它。如果是这样,怎么样?

1 个答案:

答案 0 :(得分:2)

为什么不可能?您需要首先连接到现有数据库(如RBarryYoung的评论中所述)

IF NOT EXISTS (
SELECT * FROM sys.databases 
WHERE [name] = 'MyCreatedDatabase'
)
CREATE DATABASE MyCreatedDatabase

在此处阅读有关创建数据库选项的信息 https://msdn.microsoft.com/en-us/library/ms176061.aspx