相关疑难解决方法(0)

如何使用SqlCommand创建带参数化数据库名称的DATABASE?

简而言之.我有两个简单的助手:

    private SqlCommand CreateCommand(string text)
    {
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = connection;
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = text;
        return cmd;
    }

    void SetParameter(SqlCommand cmd, string p, string dbName)
    {
        cmd.Parameters.Add(p, SqlDbType.NVarChar);
        cmd.Parameters[p].Value = dbName;
    }
Run Code Online (Sandbox Code Playgroud)

这执行OK:

var cmd = CreateCommand("CREATE DATABASE Demo "+
            @"ON (FILENAME = N'c:\demo_data.mdf') "+ 
            @"LOG ON (FILENAME = N'c:\demo_data.mdf.LDF') "+
            "FOR ATTACH " +
            "GO");
cmd.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)

但这不是:

string dataBaseAttachText = "CREATE DATABASE @dbname " +
                              "ON (FILENAME = @filename) " +
                              "LOG ON (FILENAME …
Run Code Online (Sandbox Code Playgroud)

c# sql-server ado.net

16
推荐指数
4
解决办法
1万
查看次数

是否可以在不指定数据库的情况下连接到SQL Server?

我正在尝试为连接到SQL Server以实现持久性的代码编写一些单元测试,但我希望能够通过将其指向SQL Server实例来运行我的单元测试,并让测试创建自己的数据库运行测试,因此在每次测试之后,它可以在下一次测试重新创建之前删除数据库然后进行设置,因此我知道上一次测试中没有遗留的遗留数据或结构影响下一次测试.

c# sql sql-server unit-testing

2
推荐指数
1
解决办法
5768
查看次数

标签 统计

c# ×2

sql-server ×2

ado.net ×1

sql ×1

unit-testing ×1