C# 记录日志时选择数据库
我有一个类来打开连接,使一切关于SQLC# 记录日志时选择数据库,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
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应用程序,而不是桌面应用程序