c# - 以编程方式创建 SQL 数据库

标签 c# sql-server ado.net

如何以编程方式创建 SQL 数据库(和表等)?

我使用过 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 类似的方式使用它。如果是这样,怎么办?

最佳答案

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

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

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

关于c# - 以编程方式创建 SQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29217147/

相关文章:

c# - C# 中的 setnewhandler

c# - 使用base()有意义吗?

c# - 字符串不应以 !或 = 正则表达式

java - Spring Boot Maven 项目配置与 MS SQL 数据库 IntegratedSecurity=true

database - 使用 vb.net 2010 锁定后端 Access 数据库中的表

c# - EF 迁移生成一个迁移文件,其中包含不再存在的数据

sql-server - 即席 SQL 查询中 @@ProcId 的返回值是什么?

sql - 收到警告 : Null value is eliminated by an aggregate or other SET operation

c# - SQL Server 连接字符串异步处理=true

c# - 如何集中和重定向 asp :Menu on the Server Side? 的 WebForm MenuItem 链接