Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C如果在本地数据库上使用其他选项?_C#_Database_Connection String - Fatal编程技术网

C# C如果在本地数据库上使用其他选项?

C# C如果在本地数据库上使用其他选项?,c#,database,connection-string,C#,Database,Connection String,有没有办法生成一个IF语句来检查要使用的本地数据库,如果一个关闭了,请尝试下一个 我试着从这里开始,但我对编程相当陌生,不确定我是否朝着正确的方向前进 我的数据库类: public class Database { public SqlConnection connection() { try { SqlConnectionStringBuilder builder = new

有没有办法生成一个IF语句来检查要使用的本地数据库,如果一个关闭了,请尝试下一个

我试着从这里开始,但我对编程相当陌生,不确定我是否朝着正确的方向前进

我的数据库类:

public class Database
    {
        public SqlConnection connection()
        {
            try
            {
                SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();

                if (connection == null)
                {
                    builder.DataSource = "DESKTOP-U5Q45EJ";       // Work PC local db name
                }
                else if (connection == null)
                {
                    builder.DataSource = "DESKTOP-UPVVOJP";       // Home PC local db name
                }
                else
                {
                    Console.WriteLine("Connecting to local database failed..");
                }

                builder.InitialCatalog = "Lagersystem";
                builder.IntegratedSecurity = true;
                return new SqlConnection(builder.ToString());
            }
            catch (SqlException e)
            {
                Console.WriteLine(e.ToString());
                return null;
            }
        }

        public static SqlConnection openConnection()
        {
            Database db = new Database();
            SqlConnection conn = db.connection();
            conn.Open();

            return conn;
        }
    }
System.Environment.MachineName为您提供计算机名。您也可以使用。这意味着本地实例

所以

System.Environment.MachineName为您提供计算机名。您也可以使用。这意味着本地实例

所以


为什么不直接获取你的电脑名,然后通过它进行选择呢?因此,语句会检查我当前的电脑名,并在此条件下选择本地数据库?它可以做到??为什么不使用两个不同的配置文件,一个用于工作,一个用于家庭?代码应该只从配置文件中选择连接字符串。配置文件在不同的环境中会有所不同。这也复制了现实生活中的一种情况,即相同的软件在不同的机器上配置为不同的设置。为什么不直接获取您的pc名称,然后通过该名称进行选择?因此,该语句将检查我当前的pc名称,并在该条件下选择本地数据库?它可以做到??为什么不使用两个不同的配置文件,一个用于工作,一个用于家庭?代码应该只从配置文件中选择连接字符串。配置文件在不同的环境中会有所不同。这也复制了一种现实情况,即相同的软件在不同的机器中配置为不同的设置。
builder.DataSource = System.Environment.MachineName
builder.DataSource = '.'