Enviar búsqueda
Cargar
Lecture5 6
•
Descargar como PPTX, PDF
•
0 recomendaciones
•
527 vistas
Gantur Togtokh
Seguir
Denunciar
Compartir
Denunciar
Compartir
1 de 63
Descargar ahora
Recomendados
Data set
Data set
Shinebaatar Battulga
Ado.net
Ado.net
Deegii
Data set д мєр нэмэх
Data set д мєр нэмэх
Shinebaatar Battulga
datatable ,dataset,datagridview in C#
datatable ,dataset,datagridview in C#
Д. Бүжинлхам
Lecture7 8
Lecture7 8
Gantur Togtokh
Vb.net mon1
Vb.net mon1
Сод-Эрдэнэ Ч.
Day 1 database
Day 1 database
ETC
Data set ийн мєрvvдийг шинэчлэн хадгалах
Data set ийн мєрvvдийг шинэчлэн хадгалах
Shinebaatar Battulga
Recomendados
Data set
Data set
Shinebaatar Battulga
Ado.net
Ado.net
Deegii
Data set д мєр нэмэх
Data set д мєр нэмэх
Shinebaatar Battulga
datatable ,dataset,datagridview in C#
datatable ,dataset,datagridview in C#
Д. Бүжинлхам
Lecture7 8
Lecture7 8
Gantur Togtokh
Vb.net mon1
Vb.net mon1
Сод-Эрдэнэ Ч.
Day 1 database
Day 1 database
ETC
Data set ийн мєрvvдийг шинэчлэн хадгалах
Data set ийн мєрvvдийг шинэчлэн хадгалах
Shinebaatar Battulga
Data set дэх мєрийг устгах
Data set дэх мєрийг устгах
Shinebaatar Battulga
Data set дэх мєрийг устгах
Data set дэх мєрийг устгах
Shinebaatar Battulga
Blog vpii-lecture8
Blog vpii-lecture8
Nyamsuren's Teaching
өгөгдлийн сан
өгөгдлийн сан
Onon Tuul
Lecture15
Lecture15
orgil
Лекц №10
Лекц №10
Amarsaikhan Tuvshinbayar
Dynamic web 11
Dynamic web 11
Usukhuu Galaa
Лекц №13
Лекц №13
Amarsaikhan Tuvshinbayar
Lesson1
Lesson1
enkhmaa_happy9
Visual programming-2 noanswer
Visual programming-2 noanswer
Gantur Togtokh
Lecture
Lecture
Lucy Mep
Лабораторийн ажил 1
Лабораторийн ажил 1
Chinzorig Undarmaa
сургааль үгс
сургааль үгс
С.Эрдэнэ Баяр
U.cs101 лаборатори 8
U.cs101 лаборатори 8
Ganbaatar ch
U.cs101 лаборатори 8-1
U.cs101 лаборатори 8-1
Ganbaatar ch
Лекц №16
Лекц №16
Amarsaikhan Tuvshinbayar
Лаборатор-3
Лаборатор-3
bsuren_bn
Se304 lec12
Se304 lec12
bymbaa_odoo
Dynamic web 10
Dynamic web 10
Usukhuu Galaa
Se304 lec8
Se304 lec8
bymbaa_odoo
Practics onprogramming
Practics onprogramming
Gantur Togtokh
Lecture4 5 aлгоритм_түүний_шинжчанар
Lecture4 5 aлгоритм_түүний_шинжчанар
Gantur Togtokh
Más contenido relacionado
Similar a Lecture5 6
Data set дэх мєрийг устгах
Data set дэх мєрийг устгах
Shinebaatar Battulga
Data set дэх мєрийг устгах
Data set дэх мєрийг устгах
Shinebaatar Battulga
Blog vpii-lecture8
Blog vpii-lecture8
Nyamsuren's Teaching
өгөгдлийн сан
өгөгдлийн сан
Onon Tuul
Lecture15
Lecture15
orgil
Лекц №10
Лекц №10
Amarsaikhan Tuvshinbayar
Dynamic web 11
Dynamic web 11
Usukhuu Galaa
Лекц №13
Лекц №13
Amarsaikhan Tuvshinbayar
Lesson1
Lesson1
enkhmaa_happy9
Visual programming-2 noanswer
Visual programming-2 noanswer
Gantur Togtokh
Lecture
Lecture
Lucy Mep
Лабораторийн ажил 1
Лабораторийн ажил 1
Chinzorig Undarmaa
сургааль үгс
сургааль үгс
С.Эрдэнэ Баяр
U.cs101 лаборатори 8
U.cs101 лаборатори 8
Ganbaatar ch
U.cs101 лаборатори 8-1
U.cs101 лаборатори 8-1
Ganbaatar ch
Лекц №16
Лекц №16
Amarsaikhan Tuvshinbayar
Лаборатор-3
Лаборатор-3
bsuren_bn
Se304 lec12
Se304 lec12
bymbaa_odoo
Dynamic web 10
Dynamic web 10
Usukhuu Galaa
Se304 lec8
Se304 lec8
bymbaa_odoo
Similar a Lecture5 6
(20)
Data set дэх мєрийг устгах
Data set дэх мєрийг устгах
Data set дэх мєрийг устгах
Data set дэх мєрийг устгах
Blog vpii-lecture8
Blog vpii-lecture8
өгөгдлийн сан
өгөгдлийн сан
Lecture15
Lecture15
Лекц №10
Лекц №10
Dynamic web 11
Dynamic web 11
Лекц №13
Лекц №13
Lesson1
Lesson1
Visual programming-2 noanswer
Visual programming-2 noanswer
Lecture
Lecture
Лабораторийн ажил 1
Лабораторийн ажил 1
сургааль үгс
сургааль үгс
U.cs101 лаборатори 8
U.cs101 лаборатори 8
U.cs101 лаборатори 8-1
U.cs101 лаборатори 8-1
Лекц №16
Лекц №16
Лаборатор-3
Лаборатор-3
Se304 lec12
Se304 lec12
Dynamic web 10
Dynamic web 10
Se304 lec8
Se304 lec8
Más de Gantur Togtokh
Practics onprogramming
Practics onprogramming
Gantur Togtokh
Lecture4 5 aлгоритм_түүний_шинжчанар
Lecture4 5 aлгоритм_түүний_шинжчанар
Gantur Togtokh
Lecture1 kомпьютерт мэдээлэл_дүрслэх
Lecture1 kомпьютерт мэдээлэл_дүрслэх
Gantur Togtokh
Lecture1 kомпьютерт мэдээлэл_дүрслэх
Lecture1 kомпьютерт мэдээлэл_дүрслэх
Gantur Togtokh
Lecture3 aлгоритм түүний_шинжчанар
Lecture3 aлгоритм түүний_шинжчанар
Gantur Togtokh
Lecture2 kомпьютерийн ерөнхий бүтэц
Lecture2 kомпьютерийн ерөнхий бүтэц
Gantur Togtokh
Lecture3 aлгоритм түүний_шинжчанар
Lecture3 aлгоритм түүний_шинжчанар
Gantur Togtokh
Lecture2 kомпьютерийн ерөнхий бүтэц
Lecture2 kомпьютерийн ерөнхий бүтэц
Gantur Togtokh
Sp l2
Sp l2
Gantur Togtokh
Lecture9
Lecture9
Gantur Togtokh
Lecture5 aлгоритм түүний_шинжчанар
Lecture5 aлгоритм түүний_шинжчанар
Gantur Togtokh
Lecture3 aлгоритм түүний_шинжчанар.ppt
Lecture3 aлгоритм түүний_шинжчанар.ppt
Gantur Togtokh
Lecture3 aлгоритм түүний_шинжчанар
Lecture3 aлгоритм түүний_шинжчанар
Gantur Togtokh
Lecture2 4
Lecture2 4
Gantur Togtokh
Lecture1
Lecture1
Gantur Togtokh
Lecture4 5 aлгоритм_түүний_шинжчанар
Lecture4 5 aлгоритм_түүний_шинжчанар
Gantur Togtokh
Lecture3 aлгоритм түүний_шинжчанар
Lecture3 aлгоритм түүний_шинжчанар
Gantur Togtokh
Lecture2 kомпьютерийн ерөнхий бүтэц
Lecture2 kомпьютерийн ерөнхий бүтэц
Gantur Togtokh
Lecture1 kомпьютерт мэдээлэл_дүрслэх
Lecture1 kомпьютерт мэдээлэл_дүрслэх
Gantur Togtokh
Vpii seminar1
Vpii seminar1
Gantur Togtokh
Más de Gantur Togtokh
(20)
Practics onprogramming
Practics onprogramming
Lecture4 5 aлгоритм_түүний_шинжчанар
Lecture4 5 aлгоритм_түүний_шинжчанар
Lecture1 kомпьютерт мэдээлэл_дүрслэх
Lecture1 kомпьютерт мэдээлэл_дүрслэх
Lecture1 kомпьютерт мэдээлэл_дүрслэх
Lecture1 kомпьютерт мэдээлэл_дүрслэх
Lecture3 aлгоритм түүний_шинжчанар
Lecture3 aлгоритм түүний_шинжчанар
Lecture2 kомпьютерийн ерөнхий бүтэц
Lecture2 kомпьютерийн ерөнхий бүтэц
Lecture3 aлгоритм түүний_шинжчанар
Lecture3 aлгоритм түүний_шинжчанар
Lecture2 kомпьютерийн ерөнхий бүтэц
Lecture2 kомпьютерийн ерөнхий бүтэц
Sp l2
Sp l2
Lecture9
Lecture9
Lecture5 aлгоритм түүний_шинжчанар
Lecture5 aлгоритм түүний_шинжчанар
Lecture3 aлгоритм түүний_шинжчанар.ppt
Lecture3 aлгоритм түүний_шинжчанар.ppt
Lecture3 aлгоритм түүний_шинжчанар
Lecture3 aлгоритм түүний_шинжчанар
Lecture2 4
Lecture2 4
Lecture1
Lecture1
Lecture4 5 aлгоритм_түүний_шинжчанар
Lecture4 5 aлгоритм_түүний_шинжчанар
Lecture3 aлгоритм түүний_шинжчанар
Lecture3 aлгоритм түүний_шинжчанар
Lecture2 kомпьютерийн ерөнхий бүтэц
Lecture2 kомпьютерийн ерөнхий бүтэц
Lecture1 kомпьютерт мэдээлэл_дүрслэх
Lecture1 kомпьютерт мэдээлэл_дүрслэх
Vpii seminar1
Vpii seminar1
Lecture5 6
1.
ВИЗУАЛЬ ПРОГРАМЧЛАЛ II Тогтохын
Гантөр
2.
ADO.NET ADO.NET ХОЛБООГҮЙ ЗАГВАР Лекц
№5, 6
3.
ХИЧЭЭЛИЙН АГУУЛГА: холбоогүй загварын
онцлог DataSet, түүний бүрэлдэхүүн объектууд DataAdapter объект Объектуудын харилцан ажиллагаа ADO.NET
4.
ADO.NET ХОЛБООГҮЙ ЗАГВАРЫН
ОНЦЛОГ Холбоогүй загвар (Disconnected Model) гэдэг нь өгөгдлийг өгөдлийн эх үүсвэрээс клиент машинд ачаалах буюу уншаад, хүлээн авсан өгөгдлийн локаль машин дээр боловсруулаад, өгөгдөл дээр хийсэн өөрчлөлтөө өгөгдлийн эх үүсвэрлүү буцаан илгээх буюу бичнэ. Холбоогүй загвар нь өгөгдлийг зөвхөн өгөгдлийн эх үүсвэрээс унших, бичих үед холболт хийгдэж, бусад үед салангид ажиллана. Багш: Тогтохын Гантөр
5.
ADO.NET ХОЛБООГҮЙ ЗАГВАРЫН
ОНЦЛОГ Холбоогүй загварыг ашиглаж, өгөгдлийн клиент машин дээр байрлуулснаар сервэрийн санах ой, холболт, боловсруулалт зэрэг нөөцүүдийг хэмнэж, өгөгдөл боловсруулах үүргээс чөлөөлөх давуу талтай Өгөгдлийг унших болон бичих үед хугацаа, санах ой их зарцуулах муу талтай Багш: Тогтохын Гантөр
6.
ADO.NET ХОЛБООГҮЙ ЗАГВАР Бүрэлдэхүүн
объектууд DataSet– хоорондоо хамаарал бүхий DataTable хүснэгтүүдийг агуулсан, санах ой дахь холбоост өгөгдлийн сан DataTable– өгөгдлийн эх үүсвэр хүснэгтүүдийг хуулбарласан мөр (DataRow), багана (DataColumn), бүтэцтэй хүснэгт. Талбарт тавигдах шаардлага (Constraint), хүснэгт хоорондын хамаарал (DataRelation), харах хүснэгт (DataView) ийг мөн тодорхойлно. Багш: Тогтохын Гантөр
7.
ADO.NET ХОЛБООГҮЙ ЗАГВАР Бүрэлдэхүүн
объектууд DataAdapter - өгөгдлийг DataSet –рүү ачаалах, өгөгдөл дээр хийсэн өөрчлөлтийг буцааж өгөглийн эх үүсвэрлүү илгээх байдлаар ажиллана. DataTable DataTable DataTable DataAdapter InsertCommnad UpdateCommand DeleteCommand SelectCommand Өөрчлөлт илгээх DataSet Өгөгдөл ачаалх SqlDataAdapter, OracleDataAdapter,OdbcAdapter, OleDbDataAdapter Өгөгдөл ачаалх Database Тогтохын Гантөр
8.
DataAdapter объект DataAdapter объект
нь өгөгдлийн эх үүсвэр болон завсарын эх үүсвэр (DataSet, DataTable ) хоѐрын хооронд гүүр байдлаар ажилладаг . DataAdapter объектын Fill() методыг ашиглан өгөгдлийн эх үүсвэрээс DataSet болон DataTable объектуудруу өгөгдлүүдийг ачаалдаг. DataAdapter объектын Update() методыг ашиглан DataSet болон DataTable объектууд дахь өгөгдлүүдэд хийсэн өөрчлөлтийг өгөгдлийн эх үүсвэрлүү буцаадаг. DataAdapter объект нь DataSet объектод өөрчлөлт хийхдээ CommandBuilder объектыг ашиглаж болно. Багш: Тогтохын Гантөр
9.
DataAdapter объект Анхны DataSet өөрчлөх Өөрчлөлсөн DataSet Fill() DataAdapter Өгөгдлийн эх үүсвэр Update() Багш:
Тогтохын Гантөр
10.
DataAdapter объект DataAdapter объектыг
үүсгэх SQL илэрхийлэл тодорхойлон үүсгэх String connString = “Data Source = (local);Integrated security= true; Initial Catalog= Northwind; ”; String selectSql= “SELECT* FROM Orders”; SqlDataAdapter da = new SqlDataAdapter(selectSql, connString); Багш: Тогтохын Гантөр
11.
DataAdapter объект DataAdapter объектыг
үүсгэх Command объект тодорхойлон үүсгэх String connString= “Data Source=(local); Integrated security= true; Initial Catalog=Northwind;”; SqlCommand conn = new SqlConnection(connString); String selectSql= “MyStoredProcedure”; SqlCommand selectCmd= new SqlCommand (selectSql, conn); selectCmd.CommandType=CommandType.StoredProcedure; SqlDataAdapter da = new SqlDataAdapter(selectCmd); Багш: Тогтохын Гантөр
12.
DataSet объект DataSet объект
нь өгөгдлүүдийг агуулах, хоорондоо холбогдсон хүснэгтүүдийн санах ой дахь дүрслэл буюу санах ой дахь өгөгдлийн сан юм. DataSet нь ямар нэг өгөгдөл нийлүүлэгчээс хамааралгүй байдаг. DataSet нь өгөгдлийн эх үүсвэрээс ямагт салангид ажиллана. Өгөгдлийн эх үүсвэрлүү хандаж ажиллахдаа DataAdapter объектыг ашиглана. Connection объекттой хэзээ ч шууд харилцдаггүй. Багш: Тогтохын Гантөр
13.
DataAdapter объект DataSet объектыг
үүсгэх DataSet DataTableCollection DataRow DataColumn DataTabel DataRelationCollection DataRelation DataRowCollection DataCollemn Collection Constraint ConstraintCollection DataView DefaultView Багш: Тогтохын Гантөр
14.
DataSet объект DataSet объект
нь дараах хоѐр төрлийнх байна. Хэлбэржүүлсэн DataSet (Typed Dataset)DataSet классаас удамшин, автоматаар үүсдэг ба тухайн классаар үүсгэгдсэн XML схем файл (.xsd) дахь мэдээллийг ашигладаг. Visual Studio хөгжүүлэх орчинг ашиглан үүсгэдэг. Хэрбэржүүлээгүй DataSet (Untyped DataSet)DataSet классаас удамшуулан гараар үүсгэдэг. Багш: Тогтохын Гантөр
15.
DataSet объект DataSet объектыг
үүсгэх DataSet классын байгуулагч функцийн тусламжтайгаар үүсгэнэ. DataSet ds = new DataSet(“MyDataSet”); DataSet ds = new DataSet(); Багш: Тогтохын Гантөр
16.
DataTable объект DataSet объект
нь DataTableCollection объект дахь DataTable объектуудыг агуулах ба тэдгээр нь DataSet объектын Tables шинжид нь холбогдоно. DataSet объектод нэг хүснэгт нэмэх бол DataTableCollection объектын Add() методыг ашиглана. Харин олон хүснэгт нэмэх бол AddRange() методыг ашиглана. Багш: Тогтохын Гантөр
17.
DataTable объект Хүснэгт үүсгэн,
DataSet объетод нэмэх DataSet ds = new DataSet(“MyDataSet”); DataTable dt= new DataTable(“MyTable”); ds. Table.Add(dt); ds.Table.Add(“MyTable1”); DataTable dt1 = new DataTable(); DataTable dt2 = new DataTable(); ds.Tables.AddRange(new DataTable[] {dt1, dt2}); Багш: Тогтохын Гантөр
18.
DataTable объект Хүснэгттэй ажиллах DataSet
объект дахь хүснэгтүүдэд дараах аргуудаар хандаж ажиллана. Нэрээр DataTable dt= ds.Tables[“MyTable”]; Индексээр DataTable dt= ds.Tables[0]; Багш: Тогтохын Гантөр
19.
DataTable объект Хүснэгттэй ажиллах DataSet
объект дахь хүснэгтийн тоог буцаах DataSet объектод өгөгдсөн нэртэй хүснэгт байгаа эсэхийг тодорхойлох Int32 tableCount = ds.Table.Count; Boolean tableExists = ds.Tables.Contains(“MyTable”); DataSet объект дахь хүснэгтийн индексийг буцаах Int32 tablelndex = ds.Tables.IndexOf(“MyTable”); DataTable dt= ds.Tables.Add(“MyTable”) Int32 tablelndex = ds.Tables.IndexOf(dt); Тогтохын Гантөр
20.
DataTable объект Хүснэгттэй ажиллах DataSet
объектоос хүснэгтүүдийг устгах DataTable dt= ds.Tables.Add(“MyTable”); ds.Remove(dt); ds.Remove(“MyTable”); ds.RemoveAt[0]; ds.Tables.Clear(); Тогтохын Гантөр
21.
DataColumn объект DataTable объект
нь DataColumnCollection объект дахь DataColumn объектуудыг агуулах ба тэдгээр нь DataTable объектын Columns шинжид нь холбогдоно. DataTable объектод нэг багана нэмэх бол DataColumnCollection объектын Add() методыг ашиглана. Харин олон багана нэмэх бол AddRange() методыг ашиглана. Тогтохын Гантөр
22.
DataColumn объект Багана үүсгэн,
хүснэгтэд нэмэх DataTable dt= new DataTable(“MyTable”); DataColumn col= new DataColumn (“MyColumn”, typeof (System.Int32)); dt.Columns.Add( col); dt.Columns.Add(“MyColumn”,typeof((System.Int32)); DataColumn[] dca = new DataColumn[] {new DataColumn(“Col1”, typeof(System.Int32)), new DataColumn(“Col2”, typeof(System.Int32))}; dt.Columns.AddRange(dca); Тогтохын Гантөр
23.
DataColumn объект Багана үүсгэн,
хүснэгтэд нэмэх DataTable dt = new DataTable(“MyTable”); DataColumn col2 = new DataColumn(); col2.ColumnName = “Column-2”; col2.DataType = typeof(string); col2.MaxLength = 50; dt.Columns.Add(col2); Тогтохын Гантөр
24.
DataColumn объект Багана үүсгэн,
хүснэгтэд нэмэх DataTable dt = new DataTable(“MyTable”); DataColumn col = new DataColumn (“Id”, typeof(System.Int32)); col.AllowDBNull = false; //хоосон утга авахгүй col.DefaultValue = -1; //анхны утгатай col.Caption = “ID #”; //баганын гарчиг col.ReadOnly= true; //утга давтагдахгүй dt.Columns.Add(col); //утга давтагдахгүй Тогтохын Гантөр
25.
DataColumn объект Автоматаар нэмэгдэх
утгатай баган үүслэх DataTable dt = new DataTable(“MyTable”); DataColumn col = new DataColumn (“Id”, typeof(System.Int32)); col.Autolncrement = true; // автоматаар нэмэгдэх col.AutolncrementSeed = 1; // эхлэх утга col.AutolncrementStep = 2; // нэмэгдэх утга dt.Columns.Add(col); Тогтохын Гантөр
26.
DataColumn объект Тооцоологдох утгатай
багана нэмэх DataTable dt = new DataTable(“MyTable”); DataColumn[] dc = new DataColumn[] {new DataColumn(“Quantity”,typeof(System.Int32)), new DataColumn(“Price”, typeof(System.Decimal))}; dt.Columns.AddRange(dc); DataColumn col3 = new DataColumn(“ExtendedPrice”, typeof(System.Decimal)); Col3. Expression = “Quantity * Price”; dt.Columns.Add(col3); Тогтохын Гантөр
27.
DataRow объект DataRow объект
нь DataTable объектын нэг мөрийг илэрхийлнэ. DataTable объектын нэг мөр бичлэгийг утсгах, өөрчлөх, нэмэх, дуудахад DataRow объект ашиглагдана. Ө.х холбогдоогүй загварын хувьд өгөгдлийн эх үүсвэрлүү өөрчлөлтийг илгээхэд ашиглагдана. DataRow объектыг ашиглан тухан бичлэгийн талбар тус бүрийн утгаруу хандаж болно. Тогтохын Гантөр
28.
DataRow объект Мөр үүсгэн,
хүснэгтэд нэмэх DataTable dt= new DataTable(); dt.Columns.Add(“MyColumn”,typeof(System.String)); DataRow row = dt.NewRow(); row[“MyColumn”] = “Item 1”; dt.Rows.Add(row); Тогтохын Гантөр
29.
DataRow объект Бичлэг засварлах 1
-р арга: Тухайн бичлэгийн багананд хандах замаар DataRow row; // талбарт индексаар хандах row[0] = “New Value”; // талбарт нэрээр хандах row[“MyColumn”]= “New Value ”; Тогтохын Гантөр
30.
DataRow объект Бичлэг засварлах 2-р
арга: дараах методуудын тусламжтайгаар BeginEdit() - засварлах горимыг эхлүүлнэ CancelEdit() -буферлэгдсэн өөрчлөлтийг цуцлана. EndEdit() -хийсэн өөрчлөлтийг баталгаажуулна. Тогтохын Гантөр
31.
DataRow объект Бичлэг засварлах DataTable
dt = new DataTable(); // DataTable объектод өгөгдөл ачаалах код DataRow row = dt.Rows[o]; row.BeginEdit(); foreach(DataColumn col in dt.Columns){ // тухайн талбарын утгыг өөрчлөх } bool rowValid = true; if(rowValid) row.CancelEdit(); else row.EndEdit (); Тогтохын Гантөр
32.
DataRow объект Бичлэгт хийсэн
өөрчлөлтийг зөвшөөрөх ба цуцлах DataRow- д өөрчлөлт хийсэн үед ADO.NET нь өөрчлөлтийг хүлээх горимд оруулах ба RowState шинжид харгалзах төлвийг (Added, Modified, Deleted) тодорхойлдог. Хүлээх төлөвт оршиж байгаа өөрчлөлтийг зөвшөөрөх эсвэл цуцлахдаа AccepChanges(), RejectChanges() харгалзан ашиглана. Дээрх методууд нь хамгийн сүүлд дуудагдсан AcceptChanges() хүртэлх үйлдлүүд үйлчилнэ. Мөн AccentChanges() метод нь EndEdint() методын, RejectChanges() метод нь CancelEdit() методын цаана шууд бусаар дуудагддаг. Тогтохын Гантөр
33.
DataRow объект Бичлэгийн төлвийн
мэдээллийг ашиглах DataRow-д хийгдсэн өөрчлөлтийн мэдээллийг авахдаа DataRow объектын RowState шинжийг ашиглана. RowState шинжийн утгыг хэрэглэгч тодорхойлох боломжгүй. Харин ADO.NET нь DataRow объектод хийгдсэн үйлдлүүдийг хариуг RowState шинжид тодорхойлдог. RowState шинжийг утгыг цэвэрлэхдээ AccentChanges(), RejectChanges() методуудыг ашиглана. Unchanged утгатай болно. Тогтохын Гантөр
34.
DataRow объект Бичлэгийн төлвийн
мэдээллийг ашиглах DataTable dt = new DataTable(); dt.Columns.Add(“MyColumn”, typeof(System.String )); DataRow row = dt.NewRow(); // RowState = Detached dt.Rows.Add(row); // RowState = Added dt.AcceptChanges(); //RowState = Unchanged row[“MyColumns”] = “MyFieldValue”; // RowState = Modified row.RejectChanges(); // RowState = Unchanged row.Deleted (); // RowState = Deleted row.AcceoptChanges (); Тогтохын Гантөр
35.
DataRow объект Бичлэг утгах DataTable
объектоос бичлэг устгахдаа DataRow объектын Deleted() методыг ашиглана. Хэрвээ тухайн бичлэгийн RowState шинж нь Added утгатай байвал устгагдах боломжтой Тухайн бичлэгийн хувьд AcceptChanges() методыг дуудах үед харгалзах хүснэгтээс тухайн бичлэг устгагдана. DataAdapter объектын Update() методыг дуудах үед өгөгдлийн эх үүсвэрээс бичлэг устгагдана. Тогтохын Гантөр
36.
ШААРДЛАГА ОБЪЕКТУУД Хэрвээ DataSet-д
буруу мэдээлэл оруулсан тохиолдолд түүнийг өгөгдлийн эх үүсвэрлүү илгээхээс өмнө барьж чаддаггүй. Энэ тохиолдолд алдааг олох, шийдвэрлэхэд нилээд төвөгтэй байдаг. Ийм буруу өгөгдлөөс зайлсхийх арга нь DataColumn объектын шинж чанаруудыг ашиглах юм. Бас нэг арга нь шаардлага объектуудыг ашиглах юм. Тогтохын Гантөр
37.
ШААРДЛАГА ОБЪЕКТУУД ADO.NET-д хоѐр
төрлийн шаардлага объект байдаг uniqueConstraint шаардлага нь нэг талбарт утга давтагдаж орохыг үл зөвшөөрөх дүрмийг илэрхийлнэ (давтагдашгүй түлхүүр) ForeignKeyConstraint шаардлага нь нэг хүснэгтийг нөгөө хүснэгттэй холбох холбоосыг илэрхийлнэ. (гадаад түлхүүр) DataTable объект нь ConstraintCollection объект дахь дээрх объектуудыг агуулах бах тэдгээр нь DataTable объектын Constraints шинжид нь холбогдоно. Тогтохын Гантөр
38.
ШААРДЛАГА ОБЪЕКТУУД UniqueConstraint объектыг
үүсгэх Талбарын утга давтагдахаас сэргийлж үүсгэх UniqueConstraint uc = new UniquiConstraint (“ID”, dt.Columns[“CustomerID”]); dt.Constraints.Add(uc); Хэд хэдэн талбарыг хамааруулан үүсгэх DataColumn[] cols= new DataColumn[] {dt.Columns[“LastName”], dt.Columns[“FirstName”]}; UniqueConstraint uc = new UniqueConstraint(“FullName”,cols); dt.Constraints.Add(us); Тогтохын Гантөр Тогтохын Гантөр
39.
ШААРДЛАГА ОБЪЕКТУУД UniqueConstraint объектыг
үүсгэх Анхдагч түлхүүр үүсгэх UniqueConstraint uc = new UniqueConstraint(“ID”, dt.Columns[“CustomerID”], true); dt.Constraints.Add(uc); DataTable объектын ConstraintCollection олонлогт нэмэх байдлаар үүсгэх dt.Constraints.Add(“ID”, dt.Columns[“CustomerID”], false); Тогтохын Гантөр
40.
ШААРДЛАГА ОБЪЕКТУУД ForeignKeyConstraint объектыг
үүсгэх ForeignKeyConstraint үүсгэхдээ холболтын эх ба хүүхэд талбаруудыг тодорхойлох ѐстой. ForeignKeyConstraint fc = new ForeignKeyConstraint(“CategoryID”, ds.Tables[“Categories”].Columns[“CategoryID”], ds.Tables[“Products”].Columns[“CategoryID”]); ds.Table[“Products”].Constraints.Add(fc); dt.Constraints.Add(“CategoryID”, ds.Tables[“Categories”].Columns[“CategoryID”], ds.Tables[“Products”].Columns[“CategoryID”]);
41.
ШААРДЛАГА ОБЪЕКТУУД ForeignKeyConstraint объектыг
үүсгэх ForeignkeyConstraint нь холбогдсон хүснэгтүүдийн хувьд өөрчлөлтийг хязгаарлахын тулд дараах шинжүүдийг ашиглана. DelereRule эх бичлэгийг устгахад охин бичлэг яах вэ гэдгийг тодорхойлно. Анхны утга нь Cascade байх ба энэ нь эх бичлэгийг дагаж охин бичлэгүүд устгагдана. UpadateRule эх бичлэгийн түлхүүр талбарын утга өөрчлөгдөхөд яах вэ гэдгийг тодорхойлно. Анхны утга нь Cascade
42.
ОБЪЕКТУУДЫН ХАРИЛЦАН АЖИЛЛАГАА Өгөгдлийн
эх үүсвэрээс завсарын эх үүсвэрт өгөгдлийг ачаалах String connString = “Data Source=(local); Integrated security=true; Initial Catalog=Northwind;”; String selectSQL = “SELECT*FROM Orders ”; SqlDataAdapter da = new SqlDataAdapter(selectSQL, connString); DataSet объектод ачаалах DataSet ds = new DataSet(); da.Fill(ds.”Orders”); DataTable объетод ачаалах DataTable dt=new DataTable(“Orders”); da.Fill(dt);
43.
ОБЪЕКТУУДЫН ХАРИЛЦАН АЖИЛЛАГАА Өгөгдлийн
эх үүсвэрлүү өөрчлөлтийг илгээх DataAdapter объектын Update() метод нь DataSet дэхь өөрчлөгдсөн, оруулсан, устгасан бичлэгүүдийг өгөгдлийн эх үүсвэрлүү илгээхдээ DeleteeCommand, InsertCommand, UpdateCommand объектууд дахь командуудыг ашиглана. CommandBuilder Объектыг ашигласнаар оруулах, засварлах, устгах командуудыг автоматаар үүсгэж болно. Гэхдээ хамгийн оновчтой арга биш Эсвэл DeleteCommand, InsertCommand, UpdateCommand объектуудад тус бүрт нь хэрэглэгчийн алгоритмыг тодорхойлж ашиглаж болно. Гүйцэтгэлийг харьцангуй нэмэгдүүлдэг.
44.
ОБЪЕКТУУДЫН ХАРИЛЦАН АЖИЛЛАГАА CommandBuilder
ашиглан өөрчлөлтийн өгөгдлийн эх үүсвэрлүү илгээх CommandBuilder объект нь DeleteCommand, InsertCommand, UpdateCommand команд объектуудыг байгуулахад шаардагдах мета өгөгдлийг буцаахдаа DataAdapter объектын SelectCommand объектыг ашигладаг. SelectCommand нь ядаж нэг анхдагч түлхүүр талбар юмуу давтагдахгүй түлхүүр талбарын агуулсан байх ѐстой ба ингэснээр DeleteCommand, UpdateCommand командуудаар боловсруулагдах бичлэгийг олох боломжтой болно.
45.
ОБЪЕКТУУДЫН ХАРИЛЦАН АЖИЛЛАГАА CommandBuilder
ашиглан өөрчлөлтийн өгөгдлийн эх үүсвэрлүү илгээх CommandBuilder The SelectCommand must also contain all the required columns without default values in the DataRow for the generated Insert Command to work. SelectCommand нь зөвхөн нэг хүснэгтээс өгөгдлийг буцаадаг байх ѐстой. Харваа SelectCommand өөрчлөгдсөн тохиолдолд өөрчлөх командуудыг шинээр үүсгэхийн тулд RefreshSchema() методыг дуудах ѐстой. GetDeleteCommand(), GetInsertCommand(), GetUpdateCommand() методуудыг ашиглан өөрчлөх командуудыг буцааж болно.
46.
ОБЪЕКТУУДЫН ХАРИЛЦАН АЖИЛЛАГАА CommandBuilder
ашиглан өөрчлөлтийн өгөгдлийн эх үүсвэрлүү илгээх CommandBuider String connString=“Data Source=(local); Integrated security=true; Initial Catalog=Northwind;”; SqlDataAdapter da = new SqlDataAdapter(“SELECT * FROM Employee ORDER by EmployeeID”, connString ); SqlCommandBuilder builder=new SqlCommandBuilder(adapter); DataSet ds=newDataSet(“EmployeeSet ”); da.Fill(ds, “Employees”);
47.
ОБЪЕКТУУДЫН ХАРИЛЦАН АЖИЛЛАГАА CommandBuilder
ашиглан өөрчлөлтийн өгөгдлийн эх үүсвэрлүү илгээх CommandBiulder DataTable EmployeeTable = ds.Table[“Employees”]; DataRow row= EmployeeTable.NewRow(); row[“FirstName”]=“Rodney”; row[“LastName”]= “DangerField”; Row[“Title”]=“Comedian”; EmployeeTable.Rows.Add(row); da.Update(ds, “Employee”); MessageBox.Show(row[“FirstName”].ToString().Trin g()+ “ “ +row[“LastName”].ToString().Trim());
48.
ОБЪЕКТУУДЫН ХАРИЛЦАН АЖИЛЛАГАА Хэрэглэгчийн
алгоритмыг ашиглан өөрчлөлтийг өгөгдлийн эх үүсвэрлүү илгээх CommandBuilder нь хэрэгцээт команд объектуудыг үүсгэхэд хялбар байдаг хэдий ч бас дутагдалтай. Хэрэглэгчийн алгоритмыг ашиглах нь дараах давуу талуудтай Хадгалагдсан процедур ашиглах Хэд хэдэн хүснэгтүүдийг холбож, боловсруулалт хийх Илүү уян хатан боловсруулалт (CommandBuilder объектоор үүсгэгдсэн DELETE, UPDATE ком андууд нь яг оргинал бичлэгийн бүх талбарт тохирох бичлэгийг өгөгдлийн эх үүсвэрээс хайдаг. Хэрвээ анхны утгууд нь өөрчлөгдсөн байвал тухайн үйлдэл амжилтгүй болдог. )
49.
ОБЪЕКТУУДЫН ХАРИЛЦАН АЖИЛЛАГАА Хэрэглэгчийн
алгоритмыг ашиглан өөрчлөлтийг өгөгдлийн эх үүсвэрлүү илгээх CommandBuilder нь өөрчлөлт хийх DeleteCommand, InsertCommand, UpdateCommand объектуудыг автоматаар үүсгэн, DataSet д хийгдсэн өөрчлөлтийг өгөгдлийн эх үүсвэрлүү илгээх асуудлыг DataAdapter ашиглан зохицуулдаг Харин хэрэглэгчийн алгоритм ашиглах үед тэдгээр өөрчлөлт хийх объет бүрийг тодорхойлсон байх шаардлагатай
50.
ОБЪЕКТУУДЫН ХАРИЛЦАН АЖИЛЛАГАА Хэрэглэгчийн
алгоритмыг ашиглан өөрчлөлтийг өгөгдлийн эх үүсвэрлүү илгээх Parameter объектын SourceColumn, SourceVersion шинжүүд нь DataColumn объекттой холбогддог ба DataAdapter эдгээр шинжүүдийг ашиглан DataRow дэхь эх утгуудыг тодорхойлдог. Ө.Х эх утга буюу тухайн мөрөнд өөрчлөлт хийхээс өмнө байсан утгууд нь уг DataRow-д зохиулсан өөрчлөх командын парамтр ачаалагддаг. params.Add(“@OrderID”, SqlDbType.Int, 0, “OrderID”); params[“@OrderID”].SourceVersion = DataRowVersion.Original; params[“@OrderID”].SourceVersion = DataRowVersion.Current;
51.
ОБЪЕКТУУДЫН ХАРИЛЦАН АЖИЛЛАГАА Хэрэглэгчийн
алгоритмыг ашиглан өөрчлөлтийг өгөгдлийн эх үүсвэрлүү илгээх CREATE PROCEDURE DeleteEmployees @EmpID int AS SET NOCOUNT ON DELETE FROM Employees WHERE • EMPID = @EMPID • • RETURN GO
52.
ОБЪЕКТУУДЫН ХАРИЛЦАН АЖИЛЛАГАА Хэрэглэгчийн
алгоритмыг ашиглан өөрчлөлтийг өгөгдлийн эх үүсвэрлүү илгээх CREATE PROCEDURE GetEmployees AS SET NOCOUNT ON SELECT EmpID, FirsName, LastName FROM Employees return GO
53.
ОБЪЕКТУУДЫН ХАРИЛЦАН АЖИЛЛАГАА Хэрэглэгчийн
алгоритмыг ашиглан өөрчлөлтийг өгөгдлийн эх үүсвэрлүү илгээх CREATE PROCEDURE InsertEmployees @EmpID int output, @FirstName nvarchar(30), @LastName nvarchar(30) AS SET NOCOUNT ON INSERT Employees (FirstName, LastName ) VALUES(@FirstName, @LastName) if @ @rowcount=0 return 1 SET @EmpID = Scope_Identity() SELECT @Empld Empld Return GO
54.
ОБЪЕКТУУДЫН ХАРИЛЦАН АЖИЛЛАГАА Хэрэглэгчийн
алгоритмыг ашиглан өөрчлөлтийг өгөгдлийн эх үүсвэрлүү илгээх CREATE PROCEDURE UpdateEmployees @EmpID int output, @FirstName nvarchar (30), @LastName nvarchar (30) AS SET NOCOUNT ON UPDATE Employees SET FirstName= @FirstName, LastName= @LastName WHERE EmpID=@EmpID if @ @rowcount=0 return 1 return GO
55.
ОБЪЕКТУУДЫН ХАРИЛЦАН АЖИЛЛАГАА Хэрэглэгчийн
алгоритмыг ашиглан өөрчлөлтийг өгөгдлийн эх үүсвэрлүү илгээх String connString = “Data Source=(local); Integrated security=SSPI; Initial Catalog= Northwind; ”; SqlConnection conn= new SqlConnection(connString ); SqlCommand selectCommand = new SqlCommand(“GetEmployees”, conn); SelectCommand.CommandType=CommnadType.StoredProcedure; SqlCommand deleteCommand=new SqlCommand(“DeleteEmployees”, conn); deleteCommand.CommandType=CommandType.StoredProcedure; SqlCommand insertCommand= new SqlCommand(“InsertEmployees”, conn); insertCommand.CommandType=CommandType.StoredProcedure; SqlCommand updateCommand=new SqlCommand(“UpdateEmployees”, conn); updateCommand.CommandType=CommandType.StoredProcedure;
56.
ОБЪЕКТУУДЫН ХАРИЛЦАН АЖИЛЛАГАА Хэрэглэгчийн
алгоритмыг ашиглан өөрчлөлтийг өгөгдлийн эх үүсвэрлүү илгээх SqlParameterCollection cparams; Cparams=deleteCommand.Parameters; Cparams.Add(“@EmpID”, SqlDbType.Int, 0, “EmpID”); Cparams[“@EmpID”].SourceVersion=DataRowVersion.Ori ginal; Cparams=insertCommand.Parameters; Cparams.Add(“@EmpID”, SqlDbType.Int, 0, “EmpID”); Cparams[“@EmpID”].Direction=ParameterDirection.Outpu t; Cparams[“@EmpID”].SourceVersion=DataRowVersion.Ori ginal; Cparams.Add(“@FirstName”, SqlDbType.NVarChar, 30, “LastName”);
57.
ОБЪЕКТУУДЫН ХАРИЛЦАН АЖИЛЛАГАА Хэрэглэгчийн
алгоритмыг ашиглан өөрчлөлтийг өгөгдлийн эх үүсвэрлүү илгээх Ccparams=updateCommand.Parameters; Cparams.Add(“@EmpID”, SqlDbType.Int, 0, “EmpID”); • • • • • • • Cparams[“@EmpID”].SourceVersion=DataRowVersion.Ori ginal; Cparams.Add(“@FirstName”, SqlDbType.NVarChar, 30, “FirstName”); Cparams.Add(“@FirstName”, SqlDbType.NVarChar, 30, “FirstName”); SqlDataAdapter da= new SqlDataAdapter(selectCommand.CommandText,conn); da.DeleteCommand=deleteCommand; da.InsertCommand=insertCommand; da.UpdateCommand=updateCommand;
58.
ХОЛБООГҮЙ ЗАГВАРЫН ЖИШЭЭ DataSet
ds= new DataSet(); da.Fill(ds. “Employees”); //... DataSet da.InsertCommand.Parameters[1].Value= “” ; da.InsertCommand.Parameters[2].Value=“”; da.InsertCommand.Connection.Open(); da.InsertCommand.ExecuteNonQuery(); MessageBox.Show(da.InsertCommand.Parameters [0].Value.ToString()); da.Update(ds.”Employees”);
59.
ХОЛБООГҮЙ ЗАГВАРЫН ЖИШЭЭ DataSet
ds= new DataSet (); da.Fill(ds. “Employees”); //... DataSet DataRow row= ds.Table[0].NewRow(); Row[1] = “www”; Row[2] = “www”; ds.Tables[0],Rows.Add(row); da.Update(ds. “Employees”);
60.
ХОЛБООГҮЙ ЗАГВАРЫН ЖИШЭЭ DataSet
ds = new DataSet(“SalesOrders”); DartaTable dtHeader = new DataTable(“SalesOrderHeader”); DataColumnCollection cols= dtHeader.Columns; DataColumn col = cols.Add(“SalesOrderID”, typeof(System.Int32)); col.AutoIncrement= true; Col.AutolncrementSeet=-1; Col.AutolncrementStep=-1; Cols.Add(“OrderDate”, typeof(System.DateTime)).AllowDBNull = false; Cols.Add(“SalesOrderNumber”, typeof(System.String)).MaxLength=25; Cols.Add(“TotalDue”, typeof(System.Decimal));
61.
ХОЛБООГҮЙ ЗАГВАРЫН ЖИШЭЭ dtHeader.PrimaryKey=new DataColumn[]{cols[“SalesOrderID”]}; ds.Table.Add(dtHeader); DataTable
dtDetail = new DataTable(“SalesOrderDetail”); Cols=dtDetail.Columns; Cols.Add(“SalectOrderID”, typeof(System.Int32)).AllowDBNull = false; Col=cols.Add(“SalesOrderDetailID”, typeof(System.Int32)); Col.AutoIncrement = true; Col.AutoncrementSeet = -1; Col.AutoncrementStep = -1; Cols.Add(“UnitPrice”, typeof(System.Decimal)).AllowDBNull = false;
62.
ХОЛБООГҮЙ ЗАГВАРЫН ЖИШЭЭ Cols.add(“OrderQty”, typeof(System.Int16)).AllowDBNull
= false; Cols.Add(“LineTotal”, typeof(System.Decimal)); dtDetail.PrimaryKey = new DataColumn[] {cols[“OrderID”], cols[“ProductID”]}; ds.Tables.Add(dtDetail); ds.Relations.Add(“SalecOrderHeader_SalesOrderD etail”, dtHeader.Columns[“SalesOrderID”], dtDetail.Columns[“SalesOrderID”]);
63.
ХОЛБООГҮЙ ЗАГВАРЫН ЖИШЭЭ String
sqlConnectString= “Data Source=(local); Integrated security=true; Initial Catalog=AdventureWorks;”; String sqlSelect = @ “SELECT ” SalesOrderID, OrderDate, SalesOrderNumber, TotalDue FROM Sales.SalesOrderHeader SELECT SalesOrderID, SalesOrderDetailID, UnitPrice, OrderQty, LineTotal FROM Sale.SalesOrderDetail;”; SqlDataAdapter da = new SqlDataAdapter(sqlSelect, sqlConnectString); da.TableMapping.Add (“Table”, “SalesOrderHeader ”); da.TableMapping.Add (“Table1”, “SalesOrderHeader ”); da.Fill(ds);
Notas del editor
е
Descargar ahora