动态 SQL 连接 Class 来自配置
Dynamic SQL Connection Class From Config
怎么了。
是否有任何实现的代码用于在配置文件中逐部分保存连接字符串并在应用程序中使用它?
另外,在硬代码中加入一些默认值 ?
是的,我很久以前就实现了。
App.Config 或 Web.Config :
<userSettings>
<ApartmentManagementSystem.Properties.Settings>
<setting name="DataSource" serializeAs="String">
<value>(local)</value>
</setting>
<setting name="InitialCatalog" serializeAs="String">
<value>ApartmentManagementSystem</value>
</setting>
<setting name="IntegratedSecurity" serializeAs="String">
<value>True</value>
</setting>
<setting name="ConnectTimeout" serializeAs="String">
<value>5</value>
</setting>
</ApartmentManagementSystem.Properties.Settings>
</userSettings>
连接Class(静态)
public static class ConnectionString
{
public static string DataSource { get; set; }
public static string InitialCatalog { get; set; }
public static Boolean IntegratedSecurity { get; set; }
public static string ApplicationName { get; set; }
public static int ConnectTimeout { get; set; }
static ConnectionString()
{
DataSource = Settings.Default.DataSource ?? @"(local)";
InitialCatalog = Settings.Default.InitialCatalog ?? @"ApartmentManagementSystem";
IntegratedSecurity = Settings.Default.IntegratedSecurity;
ApplicationName = Settings.Default.ApplicationName ?? System.IO.Path.GetFileNameWithoutExtension(Environment.GetCommandLineArgs()[0]);
ConnectTimeout = Settings.Default.ConnectTimeout;
}
/// <summary>
/// fetch default sql connection from settings
/// </summary>
/// <returns>Connection String</returns>
public static string GetConnectionString()
{
var _connection = new SqlConnectionStringBuilder()
{
DataSource = ConnectionString.DataSource,
InitialCatalog = ConnectionString.InitialCatalog,
IntegratedSecurity = ConnectionString.IntegratedSecurity,
ApplicationName = ConnectionString.ApplicationName,
ConnectTimeout = ConnectionString.ConnectTimeout
};
return _connection.ConnectionString;
}
}
怎么了。 是否有任何实现的代码用于在配置文件中逐部分保存连接字符串并在应用程序中使用它? 另外,在硬代码中加入一些默认值 ?
是的,我很久以前就实现了。 App.Config 或 Web.Config :
<userSettings>
<ApartmentManagementSystem.Properties.Settings>
<setting name="DataSource" serializeAs="String">
<value>(local)</value>
</setting>
<setting name="InitialCatalog" serializeAs="String">
<value>ApartmentManagementSystem</value>
</setting>
<setting name="IntegratedSecurity" serializeAs="String">
<value>True</value>
</setting>
<setting name="ConnectTimeout" serializeAs="String">
<value>5</value>
</setting>
</ApartmentManagementSystem.Properties.Settings>
</userSettings>
连接Class(静态)
public static class ConnectionString
{
public static string DataSource { get; set; }
public static string InitialCatalog { get; set; }
public static Boolean IntegratedSecurity { get; set; }
public static string ApplicationName { get; set; }
public static int ConnectTimeout { get; set; }
static ConnectionString()
{
DataSource = Settings.Default.DataSource ?? @"(local)";
InitialCatalog = Settings.Default.InitialCatalog ?? @"ApartmentManagementSystem";
IntegratedSecurity = Settings.Default.IntegratedSecurity;
ApplicationName = Settings.Default.ApplicationName ?? System.IO.Path.GetFileNameWithoutExtension(Environment.GetCommandLineArgs()[0]);
ConnectTimeout = Settings.Default.ConnectTimeout;
}
/// <summary>
/// fetch default sql connection from settings
/// </summary>
/// <returns>Connection String</returns>
public static string GetConnectionString()
{
var _connection = new SqlConnectionStringBuilder()
{
DataSource = ConnectionString.DataSource,
InitialCatalog = ConnectionString.InitialCatalog,
IntegratedSecurity = ConnectionString.IntegratedSecurity,
ApplicationName = ConnectionString.ApplicationName,
ConnectTimeout = ConnectionString.ConnectTimeout
};
return _connection.ConnectionString;
}
}