في اليومين الماضيين، أصبحت مهتمًا بـ XML كقاعدة بيانات، وقد بحثت عن بعض المعلومات واكتسبت بعض الأفكار، وسأقوم بتسجيلها هنا. يمكن اعتباره ملخصًا لتعلم XML بنفسك. المحتوى الفني ليس قويًا جدًا، لذلك لا يحتاج الخبراء والأبطال إلى قراءته. هيهي ....
دون مزيد من اللغط، أهم شيء بالنسبة لنا كمبرمجين هو التطبيق العملي. فيما يلي سنشارك العملية الكاملة لإنشاء قاعدة بيانات xml بأنفسنا ثم تسجيل الدخول والتحقق منها.
أولاً، يرجى إنشاء مشروع windows، ثم اسحب مربعي نص من صندوق الأدوات بمعرفات اسم المستخدم وUserPwd، ثم اسحب زرين بمعرفات btnOK وbtnGen. تم تعيين خصائص النص على "التحقق" و"التأسيس".
ثم قم بإضافة الكود التالي إلى حدث النقر الخاص بـ btnGen لإنشاء ملف 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 = "جاك";
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 = "ملك";
xe2Pass.InnerText = "123";
xeRoot.AppendChild(xe2);
xe2.AppendChild(xe2Name);
xe2.AppendChild(xe2Pass)
xd.Save(Application.StartupPath + " \Users.xml ");
ثم أدخل الكود التالي في حدث النقر على btnOK كقسم للتحقق. بالطبع، لم أقم بتشفير المعلومات الحساسة ذات الصلة في ملف xml، فهو مجرد ملخص تعليمي صغير.
DataSet ds = new DataSet();
ds.ReadXml(Application.StartupPath + " \Users.xml ");
//DataView dv = new DataView();
//dv = ds.Tables[0].DefaultView;
//dv.Sort = "اسم المستخدم";
//dv.RowFilter = "UserName ='" + UserName.Text.Trim() + "'";
DataTable dt = ds.Tables[0];
DataRow[] dta = dt.Select("UserName='" + UserName.Text.Trim() + "'");
//this.dataGridView1.DataSource = dv;
إذا (dta != null && dta.Length > 0 )
{
DataRow dr = dta[0];
string strPwd = (string)dr["UserPassword"];
إذا (strPwd == this.UserPwd.Text.Trim())
{
messageBox.Show("موافق");
}
آخر
{
messageBox.Show("لا يوجد موافق");
}
}
آخر
{
messageBox.Show("لا يوجد هذا الحساب");
}
http://www.cnblogs.com/jinliangliu/archive/2007/01/08/614813.html