惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
小众软件
小众软件
MongoDB | Blog
MongoDB | Blog
Hugging Face - Blog
Hugging Face - Blog
Jina AI
Jina AI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Stack Overflow Blog
Stack Overflow Blog
L
LangChain Blog
大猫的无限游戏
大猫的无限游戏
量子位
A
About on SuperTechFans
G
Google Developers Blog
雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
IT之家
IT之家
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园_首页
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Vercel News
Vercel News
V
Visual Studio Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
U
Unit 42
Apple Machine Learning Research
Apple Machine Learning Research

博客园 - 凯锐

旋转的Silverlight文字 面试.NET高级软件工程师 C#利用批处理实现正在运行的程序自动更新 WindowsXp下安装Ubuntu8.10 英语学习者的十句经典名言 Crystal Report動態顯示圖片 基於IIS的WCF的分布式多層架構開發實現 ASP.net 網站和Web Application的區別(轉) Word2003中進行目錄排版 Asp.net動態添加控件 利用.NET代碼實現點擊按鈕彈出新窗體,輸入數據后返回並刷新頁面 SmartGridView(VB) C#/VB.NET语法的比较 我也来试一下利用word2007发布blog WinForm下多层架构的实现 看完越獄20件必須懂的東西(轉) 在SQL 2000中交叉表的應用 產生指定個數的不重復隨機數 DIY网站的方法 - 凯锐 - 博客园
從無到有實現一個xml數據庫登錄驗証
凯锐 · 2007-01-08 · via 博客园 - 凯锐

        這兩天﹐對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");
            }