DataSet digunakan untuk menyimpan salinan data daripada database tables. Datasets can not directly retrieve data from Databases. So datasets memerlukan DataAdapter sebagai penghubung antara Database dengan Dataset.
Databases ---> DataAdapter ---> DataSet/DataTable
Dalam DataSet boleh ada banyak database tables. So bolehlah nak kata DataSet sebagai ruang untuk menyimpan banyak table-table data dalam tu dan DataAdapter sebagai penghubung untuk dataset access data dalam database. Tujuan DataSet and DataAdapter juga ialah untuk display and manipulate data from database.
To read data into Dataset, you need to:
- Create a database connection and then a dataset object.
- Create a DataAdapter object and refer it to the DB connection already created. Note that every DataAdapter has to refer to a connection object. For example, SqlDataAdapter refers to SqlDataConnection.
- The Fill method of DataAdapter has to be called to populate the Dataset object.
1. Create a database connection:
using System.Data.SqlClient;using System.Data;SqlConnection con = new SqlConnection();con.ConnectionString = @"Data Source=klcpc209\SQLEXPRESS;" + @"Initial Catalog=FaceBook; Integrated Security=SSPI;";con.Open(); //open connection2. Create satu variable dalam string untuk simpan query database:
string query = "select * from employee'";3. Create SqlCommand object dan assign query and connection dalam SqlCommand constructor:
SqlCommand cmd = new SqlCommand(query,con); //Create a command4. Create SqlAdapter object dan assign SqlCommand object dalam SqlDataAdapter constructor. So sekarang bridge yang menghubungkan antara DataSet dan Database has been created. Sebagai contoh kat atas ni, sebab kita guna query panggil semua data dalam table 'employee', so kita telah menghubungkan Table 'employee' dengan menggunakan DataAdapter:
SqlDataAdapter adap = new SqlDataAdapter(cmd);5. Create DataSet object
DataSet ds = new DataSet();6. Kita boleh manupulasikan data dalam dataset dengan menggunakan Fill method. So kat sini kita masukkan table 'employee' tu dalam DataSet:
adap.Fill(ds);So bila kita dah ada Data dalam DataSet tu, bolehlah kita nak gunakan data tu macam nak retrieve data, nak edit data, nak add data and nak delete data. Contoh full coding:
using System.Data.SqlClient;using System.Data;SqlConnection con = new SqlConnection();con.ConnectionString = @"Data Source=klcpc209\SQLEXPRESS;" + @"Initial Catalog=FaceBook; Integrated Security=SSPI;";con.Open(); //open connectionstring query = "select * from employee'"; SqlCommand cmd = new SqlCommand(query,con); //Create a commandSqlDataAdapter adap = new SqlDataAdapter(cmd);DataSet ds = new DataSet();adap.Fill(ds);
con.Close();