欢迎光临
我们一直在努力

公共配置底层代码-.NET教程,评论及其它

建站超值云服务器,限时71元/月

using system;

using system.data;

using system.io;

using system.windows.forms;

using system.collections;

namespace datalibrary

{

/// <summary>

/// 配置底层

/// </summary>

public class configmanagerkeyvalue

{

private string pstrkey;

private object pobjvalue;

/// <summary>

/// 配置管理键值

/// </summary>

/// <param name="key"></param>

/// <param name="value"></param>

public configmanagerkeyvalue(string key,object value)

{

pstrkey = key;

pobjvalue = value;

}

/// <summary>

/// 键

/// </summary>

public string key

{

get{return pstrkey;}

set{pstrkey=value;}

}

/// <summary>

/// 值

/// </summary>

public object value

{

get{return pobjvalue;}

set{pobjvalue=value;}

}

}

/// <summary>

/// 配置管理业务

/// </summary>

public class disposalconductservice

{

private string pstrfilename;

private dataset dsdataset;

private dataview dvdataview;

/// <summary>

/// 配置管理业务

/// </summary>

/// <param name="filename"></param>

public disposalconductservice(string filename)

{

pstrfilename = filename;

initobjects();

}

/// <summary>

/// 配置管理业务

/// </summary>

public disposalconductservice()

{

pstrfilename = system.reflection.assembly.getexecutingassembly().tostring() + ".exe.config";

appdomain ad = appdomain.currentdomain;

pstrfilename = ad.basedirectory + pstrfilename;

initobjects();

}

private void initobjects()

{

initdatasource();

}

private void initdatasource()

{

dsdataset = new dataset();

try

{

dsdataset.readxml(pstrfilename);

dvdataview = dsdataset.tables[0].defaultview;

dvdataview.allowedit = true;

dvdataview.allowdelete = true;

dvdataview.allownew = true;

}

catch(exception)

{

dsdataset.tables.add(createdatatable() );

dsdataset.datasetname = "application";

try

{

savedata();

dvdataview = dsdataset.tables[0].defaultview;

dvdataview.allowedit = true;

dvdataview.allowdelete = true;

dvdataview.allownew = true;

}

catch(exception e)

{

messagebox.show(e.message);

}

}

}

/// <summary>

/// 取得数据值

/// </summary>

/// <param name="keyname">键名</param>

/// <param name="default">默认值</param>

/// <returns>值</returns>

public object getvalue(string keyname,object default)

{

object strresult=default;

datarowview row;

dvdataview.rowfilter="key=" + keyname + "";

if(dvdataview.count != 0)

{

row = dvdataview[0];

strresult = row["value"];

}

else

{

addvalue(keyname,default);

}

return(strresult);

}

/// <summary>

/// 取得值

/// </summary>

/// <returns>值</returns>

public arraylist getvalues()

{

arraylist list = new arraylist();

try

{

dvdataview.rowfilter="";

foreach(datarowview row in dvdataview)

{

list.add(new configmanagerkeyvalue((string)row["key"],row["value"]));

}

}

catch{}

return list;

}

/// <summary>

/// 增加一个值

/// </summary>

/// <param name="keyname">键</param>

/// <param name="value">值</param>

/// <returns>成功:true;失败:false</returns>

public bool addvalue(string keyname,object value)

{

datarowview row;

try

{

dvdataview.rowfilter="key=" + keyname + "";

if(dvdataview.count==0)

{

row = dvdataview.addnew();

row["key"] = keyname;

row["value"] = value;

row.endedit();

savedata();

return true;

}

else

{

return false;

}

}

catch(exception e)

{

messagebox.show(e.message);

return false;

}

}

/// <summary>

/// 删除一个值

/// </summary>

/// <param name="keyname">键</param>

/// <returns>成功:true;失败:false</returns>

public bool removevalue(string keyname)

{

datarowview row;

dvdataview.rowfilter="key=" + keyname + "";

if(dvdataview.count != 0)

{

row = dvdataview[0];

row.delete();

return true;

}

else

{

return false;

}

}

/// <summary>

/// 更新值

/// </summary>

/// <param name="keyname">键</param>

/// <param name="value">值</param>

/// <returns>成功:true;失败:false</returns>

public bool updatevalue(string keyname,object value)

{

removevalue(keyname);

return addvalue(keyname,value);

}

private void savedata()

{

dsdataset.writexml(pstrfilename);

}

private datatable createdatatable()

{

datatable tbl = new datatable();

tbl.tablename = "configuration";

tbl.columns.add("key",typeof(string));

tbl.columns.add("value",typeof(string));

return(tbl);

}

/// <summary>

/// 文件名

/// </summary>

public string filename

{

get{return pstrfilename;}

}

}

}

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 公共配置底层代码-.NET教程,评论及其它
分享到: 更多 (0)