using System;
using System.IO;
using System.Runtime.InteropServices;
using System.Text;
namespace Sx_Mdi
{
/// <summary>
/// Summary description for Class1.
/// </summary>
public class IniFile
{
//文件INI名称
public string Path;
////声明读写INI文件的API函数
[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);
string section ------- INI文件中的一个字段名
string key -------- section 下的一个键名,也就是里面具体的变量名
string val ---------是键值,也就是变量的值
string def ----------如果没有其前两个参数值,则将此值赋给变量
StringBuilder retVal --------接收INI文件中的值的CString对象,即接收缓冲区
int size ------接收缓冲区的大小
string filePath --------完整的INI文件路径名
//类的构造函数,传递INI文件名
public IniFile(string inipath)
{
//
// TODO: Add constructor logic here
//
Path = inipath;
}
//写INI文件
public void IniWriteValue(string Section,string Key,string Value)
{
WritePrivateProfileString(Section,Key,Value,this.Path);
}
//读取INI文件指定
public string IniReadValue(string Section,string Key)
{
StringBuilder temp = new StringBuilder(255);
int i = GetPrivateProfileString(Section,Key,"",temp,255,this.Path);
return temp.ToString();
}
}
}
操作范例:
public static SqlConnection MyConnection()
{
string sPath;
string ServerName,userId,sPwd,DataName;
sPath = GetPath();
IniFile ini = new IniFile(sPath);
ServerName = ini.IniReadValue ("Database","server");
userId = ini.IniReadValue ("Database","uid");
sPwd = ini.IniReadValue ("Database","pwd");
DataName = ini.IniReadValue ("Database","database");
string strSql = "server =" + ServerName+";uid ="+ userId +";pwd =;database ="+ DataName;
SqlConnection myConn=new SqlConnection(strSql);
return myConn;
}
浙公网安备 33010602011771号