從無到有實現一個xml數據庫登錄驗証

1/9/2007来源:xml技巧人气:15777

    這兩天﹐對xml作為數據庫產生了興趣﹐找了一些資料﹐也搞出了一點眉目﹐在這里記錄一下。算是對自己學習xml的一個小結吧。技朮內容不是很強﹐高手大俠們就不需看了。呵呵....
    不多說廢話﹐咱們程序員最注重的是實用性﹐以下就將本人自己產生xml數據庫﹐然后再登錄驗証的全過程共享出來。
    首先﹐請建立一個windows專案,然后從工具箱中拖兩個TextBox﹐ID分別為UserName 和UserPwd,然后再拖兩個Button出來﹐ID分別為btnOK和btnGen.Text屬性分別設為"驗証"和"建立"。
然后在btnGen的click事件中加入如下代碼﹐產生一個xml文件﹐作為數據庫﹕
    XmlDocument xd = new XmlDocument();
    XmlNode xnDec = xd.CreateNode(XmlNodeType.XmlDeclaration, "", "");
    XmlElement xeRoot = xd.CreateElement("Users");
    xd.AppendChild(xnDec);
    xd.AppendChild(xeRoot);

    XmlElement xe1 = xd.CreateElement("Users");
    XmlElement xe1Name = xd.CreateElement("UserName");
    XmlElement xe1Pass = xd.CreateElement("UserPassWord");
    xe1Name.InnerText = "Jack";
    xe1Pass.InnerText = "123";
    xeRoot.AppendChild(xe1);
    xe1.AppendChild(xe1Name);
    xe1.AppendChild(xe1Pass);

    XmlElement xe2 = xd.CreateElement("Users");
    XmlElement xe2Name = xd.CreateElement("UserName");
    XmlElement xe2Pass = xd.CreateElement("UserPassword");
    xe2Name.InnerText = "King";
    xe2Pass.InnerText = "123";
    xeRoot.AppendChild(xe2);
    xe2.AppendChild(xe2Name);
    xe2.AppendChild(xe2Pass);

    xd.Save(application.StartupPath + "\\Users.xml");
接著在btnOK的click事件中輸入如下代碼﹐作為驗証段﹐當然﹐我并沒有對xml文件中的相關敏感信息加密﹐畢竟只算是一個小的學習總結吧。
    DataSet ds = new DataSet();
    ds.ReadXml(Application.StartupPath + "\\Users.xml");
    //DataView dv = new DataView();
    //dv = ds.Tables[0].DefaultView;
    //dv.Sort = "UserName";
    //dv.RowFilter = "UserName ='" + UserName.Text.Trim() + "'";
    DataTable dt = ds.Tables[0];
    DataRow[] dta = dt.Select("UserName='" + UserName.Text.Trim() + "'");

    //this.dataGridView1.DataSource = dv;
    if (dta != null && dta.Length > 0 )
    {
DataRow dr = dta[0];
string strPwd = (string)dr["UserPassword"];
if (strPwd == this.UserPwd.Text.Trim())
{
    MessageBox.Show("OK");
}
else
{
    MessageBox.Show("No OK");
}
    }
    else
    {
MessageBox.Show("No this account");
    }
http://www.cnblogs.com/jinliangliu/archive/2007/01/08/614813.html