C# 记录日志时选择数据库

C# 记录日志时选择数据库,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我有一个类来打开连接,使一切关于SQL public class ConnSQLite { public System.Data.SqlClient.SqlConnection Connection; public void connect() { string ConnString = "Data Source=xxx;DataBase=xxx;User ID=xxx;Password=xxx;"; Connection = new

我有一个类来打开连接,使一切关于SQL

public class ConnSQLite
{

    public System.Data.SqlClient.SqlConnection Connection;

    public void connect()
    {

        string ConnString = "Data Source=xxx;DataBase=xxx;User ID=xxx;Password=xxx;";
        Connection = new System.Data.SqlClient.SqlConnection(ConnString);
        Connection.Open();
    }
}
我想要的是:

用户登录时将选择其数据库,我希望将“database=Tienda;”设置为:

"DataBase=" + somestringhere + ";"
我尝试“应用程序[“数据库”]”不起作用


还有其他方法吗?

看看下面的用例:

当用户登录时,您可以将所选数据库存储到用户会话中,假设您将数据库列表保存到下拉列表中,用户可以选择他们想要登录的任何数据库

Session["DataBase"] = dropdown.SelectedValue
然后尝试将其用于连接字符串

public void connect()
{
    string ConnString = string.format("Data Source=APPLE01;DataBase={0};User ID=sa;Password=xxx;", Session["Database"]);
    Connection = new System.Data.SqlClient.SqlConnection(ConnString);
    Connection.Open();
}

您不会将应用程序用于特定于用户的设置。应用程序对所有用户都是全局的,而对特定的用户会话是特定的

//user chooses database, let's say they do this on a page
Session["Database"]=GetUserDatabaseSelection();

//now somewhere else, we'll connect to the database specified by their Session.
public void connect()
{
    string ConnString="";
    switch(Session["Database"])
    {
        case "Tienda": ConnString="Data Source=APPLE01;DataBase=Tienda;User ID=sa;Password=Ases0r1a;"; break;
        case "OtherDB": ConnString="Data Source=APPLE01;DataBase=OtherDB;User ID=sa;Password=myotherpass;"; break;
        default: throw new ApplicationException("Unknown database");
    }
    Connection = new System.Data.SqlClient.SqlConnection(ConnString);
    Connection.Open();
}

与你的问题无关,但也许不是与全世界分享SA pwd的最佳主意。是的。如果这是您的真实密码,您需要立即更改它。这是什么类型的应用程序?网状物桌面?这是导入,以了解更好的解决方案,坚持用户的选择。嗨,伙计们,这个密码是在我的电脑没有在我的域。。。该应用程序是asp.net web应用程序,而不是桌面应用程序