C# tutorial: Dictionary-C# code to connect database


Dictionary: C# code to connect to database file



The code below will help you to connect to the database file and retrieve data to put in the Lstterm listbox:

-Double-click on the form to open the code window

-You will see the code as shown below:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;


namespace KDictionary
{
public partial class Dic : Form


{
public Dic()
{
InitializeComponent();
}

private void Dic_Load(object sender, EventArgs e)
{

}
}
}

You need to add the statement Using System.Data.OleDb; to the Using group statements in the code above. So it will be come:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb ;

namespace KDictionary
{
public partial class Dic : Form


{
public Dic()
{
InitializeComponent();
}

private void Dic_Load(object sender, EventArgs e)
{

}
}
}

-Under the "public partial class Dic: Form" line type the following code:

private OleDbConnection cn;
private OleDbDataReader reader;
private OleDbCommand com;
private DataSet rs;
private OleDbDataAdapter ad;

 

This code will declare cn variable as the OleDbConnection class, reader variable as OleDbReader class, com variable as OleDbReader Class, rs variable as DatSet class, and ad as OleDbDataAdapter classs. These variables will be used to create their objects of their types.

-Create a method called myconnect by typing the code as shown below:

private void myconnect(){
try
{

//connect to database
rs = new DataSet();
cn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "\\data.accdb;");
cn.Open();
ad = new OleDbDataAdapter("SELECT * FROM Tblterms ORDER BY Enterm", cn);
ad.Fill(rs, "Tblterms");
com = new OleDbCommand("SELECT Enterm FROM Tblterms ORDER BY Enterm", cn);
reader = com.ExecuteReader();

//clear list
Lstterms.Items.Clear();
//clear txtresult
Txtresult.Text = "";
while (reader.Read())
{
Lstterms.Items.Add(reader[0].ToString());

}
}
catch (Exception ex) { }
Txtbox.Focus();



}

The code starts by create a DataSet object to store the table got from the database and a connection object to connect to the database file:

//connect to database
rs = new DataSet();
cn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "\\data.accdb;");
cn.Open();

The Adapter object is created to get data from the Tblterms table and

the data is filled to the DataSet object rs by using the Fill() method of the adapter:

ad = new OleDbDataAdapter("SELECT * FROM Tblterms ORDER BY Enterm", cn);
ad.Fill(rs, "Tblterms");

The Command object com also is also created to get data from the table and populate the list box:

com = new OleDbCommand("SELECT Enterm FROM Tblterms ORDER BY Enterm", cn);
reader = com.ExecuteReader();
//clear list
Lstterms.Items.Clear();
//clear txtresult
Txtresult.Text = "";
while (reader.Read())
{
Lstterms.Items.Add(reader[0].ToString());

}
}

The search text box is set the focus to make sure that the cursor is active in this box for text input.

Txtbox.Focus();

By putting the method myconnect() in the form load event, the list box Lstterms will be populated by the English words:

private void Dic_Load(object sender, EventArgs e)
{
myconnect();

}

Note: we use try...catch block to catch any errors that may occur.

Now you have data filled in the list box Lstterms when the form loads. The next phase is to write some C# code to create a workable search text box.








This website intents to provide free and high quality tutorials, examples, exercises and solutions, questions and answers of programming and scripting languages:
C, C++, C#, Java, VB.NET, Python, VBA,PHP & Mysql, SQL, JSP, ASP.NET,HTML, CSS, JQuery, JavaScript and other applications such as MS Excel, MS Access, and MS Word. However, we don't guarantee all things of the web are accurate. If you find any error, please report it then we will take actions to correct it as soon as possible.