Qellimi i ushtrimeve te meposhtme
eshte te arrihet te punohet me disconnected data classes ne WebSite:
·DataTable
·DataColumn
·DataRow
·DataView
·DataSet
·Serialize
(dhe deserialize) e DataSets drejt dhe
nga XML.
·Te
perdoret LINQ me DataSet
DataTable object paraqet
te dhena tabelare si rows, columns, dhe constraints. DataTable object perdoret per te mbajtur te dhena ne
memorie nderkohe qe realizohen operacione te shkeputura nga baza.
1.Ndertoni
funksionin e meposhtme ne kod C#:
private DataTable
GetDataTable()
{
//Create the DataTable named
"employee"
DataTable employee = new
DataTable("Employee");
//Add the DataColumn using all
properties
DataColumn eid = new
DataColumn("Eid");
eid.DataType = typeof(string);
eid.MaxLength = 10;
eid.Unique = true;
eid.AllowDBNull = false;
eid.Caption = "EID";
employee.Columns.Add(eid);
//Add the DataColumn using
defaults
DataColumn firstName = new
DataColumn("FirstName");
firstName.MaxLength = 35;
firstName.AllowDBNull = false;
employee.Columns.Add(firstName);
DataColumn lastName = new
DataColumn("LastName");
lastName.AllowDBNull = false;
employee.Columns.Add(lastName);
//Add the decimal DataColumn
using defaults
DataColumn salary = new
DataColumn("Salary", typeof(decimal));
salary.DefaultValue = 0.00m;
employee.Columns.Add(salary);
//Derived column using expression
DataColumn lastNameFirstName =
new DataColumn("LastName and FirstName");
Me
poshte eshte nje liste vlerash te mundshme default per propertite e DataColumn:
·DataTypeString
·MaxLength–1, qe do te thote qe kontrollohet vlera maksimale e gjatesise
·UniqueFalse, lejon vlera te dublikuara
·AllowDBNullTrue, DataColumn nuk ka nevoje patjeter per nje vlere
·Caption, Vlera e ColumnName
2.Krijimi
i Primary Key Columns
Ne
funksionin e mesiperm perpara se te perfundoje funksioni, pra para se te behet
return vlera, percaktoni Primary Key si me poshte:
//Set the Primary
Key
employee.PrimaryKey
= new DataColumn[] {eid};
3.Shtimi
i te dhenave me ane te objektit DataRow.
Kjo
realizohet me ane te dy metodave. Metoda Add
mban nje shtese ten je array me objekte te reja ne vend te objekteve DataRow. Ky array duhet te kete aq objekte sa sasia e
tipeve te DataColumn ne DataTable.
Metoda
Load perdoret per te modifikuar
objektet ekzistuese DataRow ose per te loaduar objekte te reja. Load pret si
paramatra nje array me objekte dhe nje LoadOption enumeration qe mund te jete
nje nga vlerat e meposhtme:
OverwriteChanges (Overwrites the original DataRowVersion and the
current DataRowVersion and changes the RowState to Unchanged),
PreserveChanges (default)
(Overwrites the
original DataRowVersion, but does not modify the current DataRowVersion. New
rows have the RowState of Unchanged as well),
Upsert (Overwrites the current DataRowVersion, but does not
modify the original DataRowVersion. New rows have the RowState of Added).
Tek funksioni i mesiperm shtoni rreshtat e
meposhtem para return:
//Load DataRow,
replacing existing contents, if existing
employee.LoadDataRow(
new object[] {
"987654321X", "Janet", "Leverling", 20.00m },
LoadOption.OverwriteChanges);
4.Shtoni
nje GridView tek Default.aspx duke bere drag and drop.
<asp:GridView ID="GridView1"
runat="server">
</asp:GridView>
5.Shtoni
nje button dhe nje event listener per klikimin e butonit. Drag drop buttonin ne
design mode dhe me pas jepini dubel klik butonit per tu gjeneruar funskioni i handler-it
te klikimit.
6.Binding
i te dhenave, objekti DataTable mund te behet bound me cdo data-bound control duke
ia dhene vleren e saj DataSource
property dhe me ekzekutimin e metodes DataBind me pas.
Per
kete tek funskioni i mesiperm beni ndryshimet:
8.Pas
kesaj shtoni nje button dhe nje event listener per klikimin e butonit. Drag
drop buttonin ne design mode dhe me pas jepini dubel klik butonit per tu gjeneruar
funskioni i handler-it te klikimit.
retVal
+= string.Format("Version: {0} does not exist.<br />",
version);
}
}
return
retVal;
}
10.Per te provuar rezultatin
modifikoni Button2_Click te
shkruajtur me siper:
DataTable provaDT =
GetDataTable();
Label1.Text =
GetDataRowInfo(provaDT.Rows[0], "LastName and FirstName");
11.Kur duam te kopjojme tabelen
perdorim nje nga dy metodat Copy ose Clone. Copy I ben kopje edhe te dhenave
ndersa klonimi vetem struktures se datatable. Per ta demonstruar shtoni dy
GridView te tjera tek Default.aspx.
<asp:GridView
ID="GridView2" runat="server">
</asp:GridView>
<asp:GridView
ID="GridView3" runat="server">
</asp:GridView>
12.Tek funksioni i Button1_Click
te ndertuar me siper ne hapin e
peste shtoni rreshtat e meposhtem:
DataTable copy = provaDT.Copy();
GridView2.DataSource = copy;
GridView2.DataBind();
DataTable clone = provaDT.Clone();
clone.ImportRow(provaDT.Rows[0]);
GridView3.DataSource = clone;
GridView3.DataBind();
13.Shtoni trembedhjete butona te
tjere ne faqe dhe me dubel klik gjeneroni funksionet perkatese te event
handlerave te tyre:
24.Ne Solution Explorer, shto nje
DataSet grafikisht duke klikuar me te djathten tek Web site project dhe duke
bere Add New Item. Select DataSet, dhe
quaje CompanyListSchema.xsd. Drag nje
DataTable nga ToolBox dhe beje drop tek siperfaqja e DataSet Editor.