..


ลิงก์ผู้สนับสนุน

การเชื่อมต่อการจัดการกับฐานข้อมูลด้วย ADO.NET

ในบทเรียนก่อนหน้านี้เราได้เห็นวิธีการผูกคอลเลกชันแบบคงที่ (ยังเป็นที่รู้จักในหน่วยความจำ) เพื่อควบคุมด้านเซิร์ฟเวอร์ต่างๆ แม้ว่าการดำเนินการชนิดนี้จะมีประโยชน์ในบริบทบางอย่าง แต่มักจะต้องผูกตัวควบคุมในคอลเลกชันต่างๆของรายการจากแหล่งอื่น ๆ มามักจะมาจากฐานข้อมูล

นอกจากนี้ยังรวมถึงห้องสมุดชั้นสำหรับการพัฒนาโปรแกรม Desktop (Windows แบบฟอร์ม) และการจัดการการร้องขอ HTTP (ASP.NET) ที่. NET Framework ที่ยังมีห้องสมุดที่รองรับการเชื่อมต่อที่หลากหลายของฐานข้อมูลและเป็น ที่เรียกว่า ADO.NET (ข้อมูลวัตถุที่ใช้งาน. NET) เทคโนโลยีนี้จะขึ้นอยู่กับสามหน้าที่หลัก : การเชื่อมต่อกับฐานข้อมูลการสอบถามฐานข้อมูลและการจัดการผลการ

เมื่อคุณต้องการติดต่อกับฐานข้อมูลที่คุณจะต้องเชื่อมต่อกับมัน การเชื่อมต่อนั้นจะต้องมีบัตรประจำตัวของตำแหน่งที่ตั้งของฐานข้อมูล แต่ยังสามารถขอการจัดการความปลอดภัยและการพักผ่อนที่ซับซ้อนอื่น ๆ องค์ประกอบทั้งหมดเหล่านี้จะมีการจัดการเป็นส่วนหนึ่งของกระบวนการของการเชื่อมต่อไปยังฐานข้อมูล ข้อมูลการเชื่อมต่อจะถูกส่งไปมักจะเป็นสตริง, ซึ่งมีเนื้อหาที่ใช้สำหรับการตั้งค่าพารามิเตอร์ต่างๆ

ในขณะที่ในอดีตที่ผ่านมาคุณได้เขียนโค้ดด้วยตนเองในการเข้าถึงฐานข้อมูลผ่าน ADO.NET ได้โดยการระบุประเภทของฐานข้อมูลที่คุณต้องการเชื่อมต่อโดยอัตโนมัติและตั้งค่าคุณสมบัติที่เหมาะสำหรับประเภทของการเชื่อมต่อที่

มีหลายประเภทของฐานข้อมูลที่สนับสนุนคือ :

  • ผู้ให้บริการข้อมูล ODBC
  • OLE DB ให้ข้อมูล
  • ผู้ให้บริการข้อมูล OracleClient
  • SqlClient ผู้ให้บริการข้อมูล
  • ผู้ให้บริการ SQL Server CE ข้อมูล
ประเภทนี้ที่กำหนดไว้ในไฟล์ machine.config ของขวัญดังกล่าวข้างต้น





 <configuration>

 





 <configSections>

 





 ชื่อมาตรา <="System.Data.Odbc"

 





 ประเภท ="







 System.Data.Common.DbProviderConfigurationHandler, ..."/>

 





 ชื่อมาตรา <= พิมพ์"System.Data.OleDb"="







 System.Data.Common.DbProviderConfigurationHandler, ..."/>

 





 ชื่อมาตรา <= พิมพ์"System.Data.OracleClient"="







 System.Data.Common.DbProviderConfigurationHandler, ..."/>

 





 ชื่อมาตรา <= พิมพ์"System.Data.SqlClient"="







 System.Data.Common.DbProviderConfigurationHandler, ...

 



 "/>

 





 <configSections />

 





 <system.data>

 





 <DbProviderFactories>

 





 <เพิ่มชื่อ ="Microsoft SQL Server ผู้ให้บริการข้อมูลขนาดกะทัดรัด"คงที่ ="







 System.Data.SqlServerCe.3.5"

 





 ประเภท ="System.Data.SqlServerCe.SqlCeProviderFactory ... "/>

 





 </ DbProviderFactories>

 





 </ System.Data> <







 การกำหนดค่า />>



เพื่อสร้างการเชื่อมต่อฐานข้อมูลจึงต้องใช้องค์ประกอบทางด้านขวา ด้วยความพร้อมของการเชื่อมต่อแล้วคุณสามารถใช้การเข้าถึงฐานข้อมูล ตัวอย่างเช่นถ้าเครื่องคอมพิวเตอร์ของเราโฮสต์สำหรับฐานข้อมูลของ SQL Server ที่เรียกว่า DB_TEST ต้องเข้าสู่การประยุกต์ใช้ในที่สุดสตริงการเชื่อมต่อดังต่อไปนี้ของเรา






 <configuration>

 





 <connectionStrings>

 





 <ชื่อเพิ่ม ="Test"

 





 ConnectionString = เซิร์ฟเวอร์"= (ท้องถิ่น);







 การรักษาความปลอดภัยแบบบูรณาการ = SSPI; ฐานข้อมูล DB_TEST ="/>

 





 </ ConnectionStrings>







 <การกำหนดค่า />



ณ จุดนี้คุณสามารถเปิดการเชื่อมต่อและเพื่อให้มีฐานข้อมูลสำหรับการดำเนินการของการดำเนินงานที่เราต้องการ

ฐานข้อมูลส่วนใหญ่สนับสนุนภาษา SQL (Structured Query Language) เพื่อให้คำสั่งเปลี่ยนแปลงการแทรกและการลบใหม่ของข้อมูล คำสั่งเหล่านี้มักจะมีรูปแบบคล้ายกับต่อไปนี้

 



 SELECT * FROM ลูกค้าที่นามสกุล ='Smith'

 
ที่ลูกค้าเป็นตารางในฐานข้อมูล คำสั่งนี้จะใช้เวลาในรายการของลูกค้าที่มีชื่อสมิท ธ ล่าสุด เพื่อให้ได้ข้อมูลเหล่านี้ภายในโปรแกรมของเราของเราเขียนรหัสต่อไปนี้





 ชั้น TestDBApp







 {



  



 static void Main ()



  



 {



    



 DbProviderFactory DbProviderFactory DbProviderFactories.GetFactory = ("System.Data.SqlClient");



    



 ใช้ (DbConnection dbProviderFactory.CreateConnection conn = ())



    



 {



      



 String s = ConfigurationManager.ConnectionStrings ["ทดสอบ"] ConnectionString.;



      



 conn.ConnectionString = s;



      



 conn.Open ();



      



 DbCommand cmd = conn.CreateCommand ();



      



 cmd.CommandText ="SELECT * FROM ลูกค้าที่นามสกุล ='Smith'";



      



 DbDataReader อ่าน = cmd.ExecuteReader ();



      



 / / ใช้ผู้อ่านในการเข้าถึงข้อมูล



    



 }



  



 }







 }



คำสั่ง (cmd) โดยใช้วิธีการ ExecuteReader สาเหตุการส่งคำสั่งกำลังโหลดฐานข้อมูลของเรา ผลลัพธ์ที่ได้ในกรณีนี้ได้รับผ่าน instance ของ class ที่เป็น IDataReader แต่คุณยังสามารถจัดการได้ผ่านชั้นอื่นที่เรียกว่าชุดข้อมูล

IDataReader จะระบุการดำเนินการซ้ำกับผลของแบบสอบถาม โดยเฉพาะอย่างยิ่ง exposes วิธีการอ่านที่ iterates ผ่านแถวที่หนึ่งในเวลาดังนั้นข้อเสีย sequenziale.Lo คือว่าเมื่อการสแกนเป็นไปไม่ได้เพื่อกลับไปยังบรรทัดก่อนหน้าและแถวที่ส่งกลับยังมีการอ่านอย่างเดียวดังนั้นคุณจึงไม่สามารถเปลี่ยน เนื้อหา

ทางเลือกคือการ IDataReader ไปยังชุดข้อมูลซึ่งจะช่วยให้การบริหารจัดการชุดของข้อมูลการเชื่อมต่อที่ ADO.NET ถูกออกแบบมาเพื่อรองรับการใช้งานที่ปรับขนาดได้มากและหนึ่งในปัญหาหลักของ scalability เป็นข้อ จำกัด ในการจำนวนการเชื่อมต่อไปยังฐานข้อมูล ฐานข้อมูลในความเป็นจริงมักจะมีการ จำกัด จำนวนของการเชื่อมต่อใช้งานพร้อมกันในเวลาที่กำหนดและหากทุกคนในการใช้งานจะได้รับอนุญาตการดำเนินงานจะชะลอตัวลง หากจำนวนผู้ใช้ของระบบคือประมาณเท่ากับจำนวนของการเชื่อมต่อใช้ได้ในเวลาเดียวกันอาจทำให้เกิดปัญหาที่ไม่เกี่ยวข้อง แต่ถ้าจำนวนผู้ใช้ที่มีมากขึ้นประสิทธิภาพของระบบอาจประสบอย่างมาก

เพื่อแก้ไขปัญหาเหล​​่านี้ให้ชั้น ADO.NET DataSet, การออกแบบเพื่อให้การจัดเรียงของสำเนาของฐานข้อมูล (หรือส่วนใดส่วนหนึ่ง) ที่ใช้โดยโปรแกรมประยุกต์ ข้อได้เปรียบที่มีจำนวนมากเพียงแค่คิดว่าภายในอินสแตนซ์ของ dataset คุณสามารถป้อนข้อมูลใหม่, ปรับปรุงหรือลบวัตถุที่มีอยู่แล้วยืนยันทั้งหมดของการดำเนินงานเหล่านี้ที่จะดำเนินการในโหมดการเชื่อมต่อโดยการเชื่อมต่อไปยังฐานข้อมูลในช่วงเวลาสั้นของเวลา

ชุดข้อมูลคลาสที่มีอาร์เรย์ของ DataTable วัตถุซึ่งมีประชากรผ่านทางนี้ DataAdapter องค์ประกอบเหล่านี้ถูกเรียกเมื่อโหลดข้อมูลจากฐานข้อมูลโดยตรงลงใน DataTable และจากนั้นคุณสามารถทำงานกับข้อมูลในท้องถิ่นเหล่านี้ติดต่อกับฐานข้อมูลเฉพาะเมื่อคุณยืนยันการเปลี่ยนแปลงที่ทำกับพวกเขา

ดังนั้นการใช้ชุดข้อมูลเราสามารถเข้าถึงองค์ประกอบในมันทุกอย่างสมบูรณ์แบบสุ่มซึ่งแตกต่างจากสิ่งที่เราเห็นสำหรับ DbDataReader ส่วนประกอบ

ความช่วยเหลือเกี่ยวกับ Visual Studio ASP.Net
E - Learning
ASP (Advanced) ASP (Advanced)
หลักสูตรเต็มสำหรับการสร้างเว็บไซต์แบบไดนามิก จาก 39 €
ASP.NET (หลักสูตร) ASP.NET (หลักสูตร)
หลักสูตรเต็มสำหรับสร้างเว็บแอพพลิเคชันจาก 49 €
SQL และฐานข้อมูล (หลักสูตร) SQL และฐานข้อมูล (หลักสูตร)
การสร้างและจัดการฐานข้อมูลเชิงสัมพันธ์ จาก 39 €
ลิงก์ผู้สนับสนุน