//读配置文件获取连接数据库的字符串
String strPath = Application.StartupPath + "\\Config\\Server.ini";//配置文件的地址
INIClass ini = new INIClass(strPath);
if (ini.ExistINIFile())
{
nType = Convert.ToInt32(ini.IniReadValue("Server", "ServerType"));
if (nType == Model_Constant.Model_DataBase.DATABASE_SQLSERVER)
{
string Server = ini.IniReadValue("Server", "Server");
string database = ini.IniReadValue("Server", "DataBase");//获取数据库名称
string Uid = ini.IniReadValue("Server", "Uid");//获取登录名
string Pwd = ini.IniReadValue("Server", "Pwd");//获取登录密码
string connString = @"Server=" + Server + ";DataBase=" + database + ";Uid=" + Uid + ";Pwd=" + Pwd;//连接数据库字符串
SQLHelper.connString = connString;
}
if (nType == Model_Constant.Model_DataBase.DATABASE_ACCESS)
{
string Provider = ini.IniReadValue("Server", "Provider");
string DataSource = ini.IniReadValue("Server", "Data Source");//获取Access的路径
OleDbHelper.connString = @"Provider="+Provider+";Data Source=" + DataSource;
}
}
/// <summary>
/// 配置文件的读取
/// </summary>
public class INIClass
{
public string inipath;
[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
/// <summary>
/// 构造方法
/// </summary>
/// <param name="INIPath">文件路径</param>
public INIClass(string INIPath)
{
inipath = INIPath;
}
/// <summary>
/// 写入INI文件
/// </summary>
/// <param name="Section">项目名称(如 [TypeName] )</param>
/// <param name="Key">键</param>
/// <param name="Value">值</param>
public void IniWriteValue(string Section, string Key, string Value)
{
WritePrivateProfileString(Section, Key, Value, this.inipath);
}
/// <summary>
/// 读出INI文件
/// </summary>
/// <param name="Section">项目名称(如 [TypeName] )</param>
/// <param name="Key">键</param>
public string IniReadValue(string Section, string Key)
{
StringBuilder temp = new StringBuilder(500);
int i = GetPrivateProfileString(Section, Key, "", temp, 500, this.inipath);
return temp.ToString();
}
/// <summary>
/// 验证文件是否存在
/// </summary>
/// <returns>布尔值</returns>
public bool ExistINIFile()
{
return File.Exists(inipath);
}
}
//配置文件 Server.ini
[Server]
ServerType=1
Server=.
DataBase=center
Uid=sa
Pwd=123456
Provider=Microsoft.ACE.OLEDB.12.0
Data Source= C:\Users\Nvision_Li\Desktop\SQLConnect\center.mdb