public class MessageManager
{
public const string FLDMessageID = "MessageID";
public const string FLDMessageText = "MessageText";
private string GetPath
{
get
{
return Environment.CurrentDirectory + @"\MessageList.xml";
}
}
private DataTable BuilDadataTable()
{
DataTable dtb = new DataTable("MessageList");
DataColumn clmn = new DataColumn("MessageID", typeof(System.Int32));
dtb.Columns.Add(clmn);
clmn = new DataColumn("MessageText", typeof(System.String));
dtb.Columns.Add(clmn);
return dtb;
}
public DataSet GetMessageStructure()
{
DataSet ds = new DataSet();
ds.Tables.Add(BuilDadataTable());
return ds;
}
public DataSet GetMessageListDS()
{
DataSet ds = null;
if (System.IO.File.Exists(GetPath))
{
ds = new DataSet();
ds.ReadXml(GetPath);
}
else
{
ds= GetMessageStructure();
}
return ds;
}
public void AddMessage(int MessageID, string MessageText)
{
DataSet ds = GetMessageListDS();
DataRow dr = ds.Tables[0].NewRow();
dr[FLDMessageID] = MessageID;
dr[FLDMessageText] = MessageText;
ds.Tables[0].Rows.Add(dr);
ds.WriteXml(this.GetPath);
}
public string GetMessage(int MessageID)
{
DataSet ds = GetMessageListDS();
string Result = "Invalid XML Error List";
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count != 0)
{
DataRow[] drs = ds.Tables[0].Select("MessageID=" + MessageID.ToString()) ;
if (drs.Length > 0)
if(drs[0].ItemArray[1] !=DBNull.Value)
Result = drs[0].ItemArray[1].ToString();
}
return Result;
}
}
I have a xml file for manage message in my application.a class that called messageManager is responsible of create xml file if not exists or read it into a table in application. each entity in xml file have two element 1-MessageID 2-MessageText. after add a meggage we can get a specified message by its id.
Problem:
Adding and getting message with id less than 10 dont have any problem
but when i add a message id with id mor than 9 getmessage() can not find it?
help please?