API ฐานข้อมูล Web SQL ไม่ได้เป็นส่วนหนึ่งของข้อมูลจำเพาะ HTML5 แต่เป็นข้อกำหนดแยกต่างหาก มันใช้ชุด APIs เพื่อจัดการฐานข้อมูลของลูกค้า เบราว์เซอร์กระแสหลักเช่น Safari, Chrome, Firefox และ Opera ได้รองรับฐานข้อมูล Web SQL แล้ว ฐานข้อมูล Web SQL ของ HTML5 นั้นดึงดูดใจจริงๆ เมื่อคุณพบว่าคุณสามารถใช้คำสั่งแบบสอบถามเดียวกันกับแบบสอบถาม MySQL เพื่อใช้งานฐานข้อมูลท้องถิ่นคุณจะพบว่าสิ่งนี้น่าสนใจมาก วันนี้มาเรียนรู้เกี่ยวกับฐานข้อมูล Web SQL API ของ HTML 5
ต่อไปนี้จะแนะนำวิธีการสร้างและเปิดฐานข้อมูลสร้างตารางเพิ่มข้อมูลอัปเดตข้อมูลลบข้อมูลและลบตาราง
แรกแนะนำสามวิธีหลัก
1. Opendatabase: วิธีนี้ใช้ฐานข้อมูลที่มีอยู่หรือสร้างฐานข้อมูลใหม่เพื่อสร้างวัตถุฐานข้อมูล
2. ธุรกรรม: วิธีนี้ช่วยให้เราสามารถควบคุมการทำธุรกรรมหรือย้อนกลับตามสถานการณ์
3. ExecutesQL: วิธีนี้ใช้เพื่อดำเนินการสืบค้น SQL จริง
ขั้นตอนที่ 1: เปิดการเชื่อมต่อและสร้างฐานข้อมูล
var database = opendatabase ("นักเรียน", "1.0", "ตารางนักเรียน", 1024 * 1024, function () {});
if (! ฐานข้อมูล) {
การแจ้งเตือน ("การสร้างฐานข้อมูลล้มเหลว!");
} อื่น {
การแจ้งเตือน ("การสร้างฐานข้อมูลสำเร็จ!");
-
อธิบายวิธีการ opendatabase จะเปิดฐานข้อมูลที่มีอยู่และหากฐานข้อมูลไม่มีอยู่ก็สามารถสร้างฐานข้อมูลได้ พารามิเตอร์หลายตัวคือ:
1. ชื่อฐานข้อมูล
2. หมายเลขเวอร์ชันปัจจุบันคือ 1.0 ไม่ว่าจะเกิดอะไรขึ้นถ้าคุณเขียนถึงความตาย
3. คำอธิบายของฐานข้อมูล
4. ตั้งค่าขนาดของข้อมูล
5. ฟังก์ชั่นการโทรกลับ (สามารถละเว้นได้)
สร้างฐานข้อมูลในการโทรครั้งแรกจากนั้นสร้างการเชื่อมต่อ
ฐานข้อมูลที่สร้างขึ้นนั้นเป็นแบบท้องถิ่นพร้อมเส้นทางดังนี้:
C:/ผู้ใช้/ผู้ดูแลระบบ/AppData/local/Google/Chrome/Data/ผู้ใช้/ข้อมูลเริ่มต้น/ฐานข้อมูล/http_localhost_4987
ฐานข้อมูล SQLite ที่สร้างขึ้นสามารถใช้เพื่อเปิดไฟล์ด้วย SQLITESPY และคุณสามารถดูข้อมูลภายใน SQLITESPY เป็นซอฟต์แวร์สีเขียว คุณสามารถดาวน์โหลดที่อยู่บน Baidu หรือดาวน์โหลด SQLITESPY อย่างเป็นทางการ: SQLITESPY
ขั้นตอนที่ 2: สร้างตารางข้อมูล
this.createtable = function () {
Database.Transaction (ฟังก์ชั่น (TX) {
tx.executesql (
"สร้างตารางถ้าไม่มี stu (id Real Unix, Name Text)",
-
ฟังก์ชั่น (TX, ผลลัพธ์) {Alert ('สร้างตาราง Stu สำเร็จ'); -
ฟังก์ชั่น (tx, ข้อผิดพลาด) {แจ้งเตือน ('สร้างตาราง Stu ล้มเหลว:' + error.message);
-
-
-
อธิบายมัน
ฟังก์ชั่น ExecutesQl มีสี่พารามิเตอร์และความหมายของมันคือ:
1) แสดงถึงสตริงแบบสอบถามและภาษา SQL ที่ใช้คือ SQLite 3.6.19
2) แทรกข้อมูลสตริงลงในแบบสอบถามที่ตั้งเครื่องหมายคำถาม
3) ฟังก์ชั่นการโทรกลับดำเนินการเมื่อประสบความสำเร็จ ส่งคืนพารามิเตอร์สองพารามิเตอร์: TX และผลลัพธ์ของการดำเนินการ
4) ฟังก์ชั่นการโทรกลับที่ดำเนินการเมื่อล้มเหลว ส่งคืนพารามิเตอร์สองพารามิเตอร์: TX และข้อความแสดงข้อผิดพลาดที่ล้มเหลว
ขั้นตอนที่ 3: ดำเนินการเพิ่มเติมการลบการดัดแปลงและการค้นหา
1) เพิ่มข้อมูล:
this.insert = function () {
Database.Transaction (ฟังก์ชั่น (TX) {
tx.executesql (
"แทรกลงใน stu (id, ชื่อ) ค่า (?,?)",
[id, 'xu mingxiang'],
function () {Alert ('เพิ่มข้อมูลสำเร็จ'); -
ฟังก์ชั่น (tx, ข้อผิดพลาด) {แจ้งเตือน ('เพิ่มข้อมูลล้มเหลว:' + error.message);
-
-
2) ข้อมูลสอบถามข้อมูล
this.query = function () {
Database.Transaction (ฟังก์ชั่น (TX) {
tx.executesql (
"เลือก * จาก stu", [],
ฟังก์ชั่น (tx, ผลลัพธ์) {// เรียกใช้ฟังก์ชันการโทรกลับที่ประสบความสำเร็จ
// ทำในสิ่งที่คุณอยากทำเพื่อผลลัพธ์ที่นี่ .........
-
ฟังก์ชั่น (tx, ข้อผิดพลาด) {
การแจ้งเตือน ('Query ล้มเหลว:' + Error.message);
-
-
-
อธิบาย
ฟังก์ชั่นการโทรกลับที่ดำเนินการสำเร็จในรหัสด้านบนมีผลลัพธ์พารามิเตอร์
ผลลัพธ์: ชุดข้อมูลแบบสอบถาม ชนิดข้อมูลของมันคือ SQLRESULTSET เช่นเดียวกับ DataTable ใน C#
คำจำกัดความของ sqlresultset คือ:
อินเทอร์เฟซ sqlresultset {
แอตทริบิวต์แบบอ่านอย่างเดียวการแทรกยาว;
คุณลักษณะอย่างเดียว rowsaffected ยาว;
attribute attribute อย่างเดียวแถว SQLRESULTSETROWLIST;
-
คุณสมบัติที่สำคัญที่สุด - แถวประเภท SQLRESULTSETROWLIST คือแถวของชุดข้อมูล
แถวมีสองคุณสมบัติ: ความยาวและรายการ
ดังนั้นรับค่าของแถวและคอลัมน์ของผลลัพธ์การสืบค้น: result.rows [i] .item [fieldName]
3) อัปเดตข้อมูล
this.update = function (id, ชื่อ) {
Database.Transaction (ฟังก์ชั่น (TX) {
tx.executesql (
"อัปเดต stu set name =? id =?",
[ชื่อ, id],
ฟังก์ชั่น (tx, ผลลัพธ์) {
-
ฟังก์ชั่น (tx, ข้อผิดพลาด) {
การแจ้งเตือน ('การอัปเดตล้มเหลว:' + Error.message);
-
-
-
4) ลบข้อมูล
this.del = function (id) {
Database.Transaction (ฟังก์ชั่น (TX) {
tx.executesql (
"ลบออกจาก stu ที่ไหน id =?",
[id],
ฟังก์ชั่น (tx, ผลลัพธ์) {
-
ฟังก์ชั่น (tx, ข้อผิดพลาด) {
การแจ้งเตือน ('การลบล้มเหลว:' + error.message);
-
-
-
5) ลบตารางข้อมูล
this.droptable = function () {
Database.Transaction (ฟังก์ชั่น (TX) {
tx.executesql ('Drop Table Stu');
-
-
การสาธิตฐานข้อมูล Web SQL สำหรับการเพิ่มลบแก้ไขและตรวจสอบดาวน์โหลดได้อย่างรวดเร็ว