Click here to Skip to main content
Licence CPOL
First Posted 6 Jul 2008
Views 13,245
Downloads 683
Bookmarked 21 times

XML Database In C#

By | 6 Jul 2008 | Article
This small application stores data in XML format

Introduction

This is a small application which stores the data in the form of XML and can be easily retrieved, inserted and deleted by using the ID.

2.JPG

Using the Code

Here is the code. You can use this application.

The code is not very difficult, I wrote it in less than 2 hours, whether or not you believe it.

// Insertion
         private void btnInsert_Click_1(object sender, EventArgs e)
        {
            if (txtBoxID.Text == "")
            {
                MessageBox.Show("Insert ID please");
                return;
            }

            XmlWriterSettings st = new XmlWriterSettings();
            st.Indent = true; ;

            st.OmitXmlDeclaration = true;
            st.Encoding = Encoding.ASCII;
            string path = @"ContactsDB\" + txtBoxID.Text.ToString() + ".xml";

            using (XmlWriter writer = XmlWriter.Create(path, st))
            {
                writer.WriteComment("This xml file for ID " + txtBoxID.Text + ".");
                writer.WriteStartElement("Contact");
                writer.WriteStartElement(lblID.Text);
                writer.WriteStartAttribute(lblID.Text);
                writer.WriteValue(txtBoxID.Text);
                writer.WriteEndAttribute();
                writer.WriteEndElement();


                writer.WriteStartElement(lblName.Text);
                writer.WriteStartAttribute(lblName.Text);
                writer.WriteValue(txtBoxName.Text);
                writer.WriteEndAttribute();
                writer.WriteEndElement();

                writer.WriteStartElement(lblFName.Text);
                writer.WriteStartAttribute(lblFName.Text);
                writer.WriteValue(txtBoxFname.Text);
                writer.WriteEndAttribute();
                writer.WriteEndElement();

                writer.WriteStartElement(lblAdd.Text);
                writer.WriteStartAttribute(lblAdd.Text);
                writer.WriteValue(txtBoxAddress.Text);
                writer.WriteEndAttribute();
                writer.WriteEndElement();

                writer.WriteStartElement(lblEmail.Text);
                writer.WriteStartAttribute(lblEmail.Text);
                writer.WriteValue(txtBoxEmail.Text);
                writer.WriteEndAttribute();
                writer.WriteEndElement();

                writer.WriteStartElement(lblMob.Text);
                writer.WriteStartAttribute(lblMob.Text);
                writer.WriteValue(txtBoxMobile.Text);
                writer.WriteEndAttribute();
                writer.WriteEndElement();

                writer.WriteStartElement(lblHome.Text);
                writer.WriteStartAttribute(lblHome.Text);
                writer.WriteValue(txtBoxHome.Text);
                writer.WriteEndAttribute();
                writer.WriteEndElement();
                writer.Flush();
                MessageBox.Show("DataBase Entry Successful!!");
                clearTxtBox();
                btnClearInsert.Enabled = true;
            }
            btnUpdate.Enabled = false;
        } 
           
// Deletion
             private void button2_Click_1(object sender, EventArgs e)
        {
            try
            {
                if (txtDel.Text == "")
                {
                    MessageBox.Show("Insert ID please");
                    return;
                }
                string path = @"ContactsDB\" + txtDel.Text.ToString() + ".xml";
                File.Delete(path);
                MessageBox.Show("record for ID:" + txtDel.Text + " is deleted");
                txtDel.Text = "";
            }
            catch (Exception f)
            {
                MessageBox.Show("The desired record is not available");
            }
        }
        
//Search
        private void btnProcess_Click(object sender, EventArgs e)
        {
            try
            {
                string path = @"ContactsDB\" + txtQuery.Text.ToString() + ".xml";
                XmlDocument document = new XmlDocument();
                document.Load(path);
                XmlNode node = document.SelectSingleNode(@"//*");
                rtbResults.Text = node.OuterXml.ToString();
                btnUpdate.Enabled = true;
            }
            catch (Exception f)
            {
                MessageBox.Show("ID:" + txtQuery.Text + " not found");
                txtQuery.Text = "";
                rtbResults.Text = "";
            }
        }

History

  • 6th July, 2008: Initial post

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Mansur Ehmad

Other
KESC Limited
Pakistan Pakistan

Member

Follow on Twitter Follow on Twitter
My name is Mansoor Ahmed, I am currently working in KESC Limited as an ABAP Developer

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
GeneralMy vote of 1 Pinmemberdata_smith1:11 11 May '11  
GeneralNext level... Pinmemberandre123451:02 7 Jul '08  
GeneralRe: Next level... Pinmemberexistenz_4:49 7 Jul '08  
GeneralRe: Next level... PinmemberMansur Ehmad5:01 7 Jul '08  
Generalvery nice :-D PinmemberNightJammer0:53 7 Jul '08  
GeneralRe: very nice :-D PinmemberMansur Ehmad5:03 7 Jul '08  
GeneralRe: very nice :-D Pinmembermycsharpcorner18:55 28 Nov '08  

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web02 | 2.5.120517.1 | Last Updated 6 Jul 2008
Article Copyright 2008 by Mansur Ehmad
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid