我有一个类来打开连接一个关于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 + ";"
我尝试了#34;应用["数据库"]"没有工作
还有另一种方法吗?
答案 0 :(得分:2)
请查看以下用例:
当用户登录时,您可以将所选数据库存储到用户会话中,假设您将数据库列表放入下拉列表中,用户可以选择他们想要登录的数据库。
Session["DataBase"] = dropdown.SelectedValue
然后尝试将其用于您的connectionstring
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();
}
答案 1 :(得分:0)
您不会将Application用于特定于用户的设置。应用程序对所有用户都是全局的,而Session特定于特定用户会话。
//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();
}