ทำให้เป็นอนุกรมและทำงานกับเอกสารในฐานข้อมูล

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

Aspose.Words ให้ความสามารถในการแปลงเอกสารเป็นอาร์เรย์ไบต์สำหรับการทำงานกับเอกสารนี้ในฐานข้อมูลในภายหลัง

แปลงเอกสารเป็นไบต์อาร์เรย์

ในการจัดเก็บเอกสารในฐานข้อมูลหรือเพื่อเตรียมเอกสารสำหรับการส่งผ่านเว็บ มักจะจำเป็นต้องทำให้เอกสารเป็นอนุกรมเพื่อรับอาร์เรย์ไบต์

หากต้องการทำให้วัตถุ Document เป็นอนุกรมใน Aspose.Words ให้ทำดังนี้

  1. บันทึกลงใน MemoryStream โดยใช้วิธี Save โอเวอร์โหลดของคลาส Document
  2. เรียกใช้เมธอด ToArray ซึ่งส่งคืนอาร์เรย์ไบต์ที่แสดงถึงเอกสารในรูปแบบไบต์

ขั้นตอนข้างต้นสามารถย้อนกลับได้เพื่อโหลดไบต์กลับเข้าไปในออบเจ็กต์ Document

ตัวอย่างด้านล่างแสดงวิธีทำให้วัตถุเป็นอนุกรม Document เพื่อรับอาร์เรย์ไบต์ และวิธีการยกเลิกซีเรียลไลซ์อาร์เรย์ไบต์เพื่อรับวัตถุ Document อีกครั้ง:

คุณสามารถดาวน์โหลดไฟล์เทมเพลตของตัวอย่างนี้ได้จาก Aspose.Words GitHub

จัดเก็บ อ่าน และลบเอกสารในฐานข้อมูล

ส่วนนี้จะแสดงวิธีการบันทึกเอกสารในฐานข้อมูล จากนั้นโหลดกลับเข้าไปในออบเจ็กต์ Document เพื่อใช้งานกับเอกสารนั้น เพื่อความง่าย ชื่อไฟล์คือคีย์ที่ใช้ในการจัดเก็บและดึงเอกสารจากฐานข้อมูล ฐานข้อมูลประกอบด้วยสองคอลัมน์ คอลัมน์แรก “ชื่อไฟล์” จะถูกจัดเก็บเป็นสตริงและใช้เพื่อระบุเอกสาร คอลัมน์ที่สอง “FileContent” ถูกจัดเก็บเป็นวัตถุ BLOB ซึ่งจัดเก็บวัตถุเอกสารในรูปแบบไบต์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการตั้งค่าการเชื่อมต่อกับฐานข้อมูลและดำเนินการคำสั่ง:

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการบันทึกเอกสารลงในฐานข้อมูล จากนั้นอ่านเอกสารเดิมอีกครั้ง และสุดท้ายจะลบบันทึกที่มีเอกสารออกจากฐานข้อมูล:

บันทึกเอกสารลงในฐานข้อมูล

เมื่อต้องการบันทึกเอกสารในฐานข้อมูล ให้แปลงเอกสารนี้เป็นอาร์เรย์ไบต์ ดังที่อธิบายไว้ตอนต้นของบทความนี้ จากนั้นให้บันทึกอาร์เรย์ไบต์นี้ลงในช่องฐานข้อมูล

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการบันทึกเอกสารลงในฐานข้อมูลที่ระบุ:

ระบุ commandString ซึ่งเป็นนิพจน์ SQL ที่ทำงานได้ทั้งหมด:

  • หากต้องการบันทึกเอกสารลงในฐานข้อมูล จะใช้คำสั่ง “INSERT INTO” และระบุตารางพร้อมกับค่าของฟิลด์บันทึกสองฟิลด์ ได้แก่ FileName และ FileContent เพื่อหลีกเลี่ยงพารามิเตอร์เพิ่มเติม ชื่อไฟล์จะนำมาจากออบเจ็กต์ Document เอง ค่าฟิลด์ FileContent ถูกกำหนดเป็นไบต์จากสตรีมหน่วยความจำ ซึ่งมีการแสดงไบนารีของเอกสารที่เก็บไว้
  • บรรทัดโค้ดที่เหลือดำเนินการคำสั่งซึ่งจัดเก็บเอกสาร Aspose.Words ในฐานข้อมูล

ดึงเอกสารจากฐานข้อมูล

หากต้องการดึงเอกสารจากฐานข้อมูล ให้เลือกเรกคอร์ดที่มีข้อมูลเอกสารเป็นอาร์เรย์ไบต์ จากนั้นโหลดอาร์เรย์ไบต์จากบันทึกลงใน MemoryStream และสร้างออบเจ็กต์ Document ที่จะโหลดเอกสารจาก MemoryStream

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

ลบเอกสารออกจากฐานข้อมูล

หากต้องการลบเอกสารออกจากฐานข้อมูล ให้ใช้คำสั่ง SQL ที่เหมาะสมโดยไม่มีการเปลี่ยนแปลงใดๆ กับออบเจ็กต์ Document

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการลบเอกสารออกจากฐานข้อมูล โดยใช้ชื่อไฟล์เพื่อดึงข้อมูลบันทึก: