Heim Web-Frontend H5-Tutorial Detaillierte Erläuterung der lokalen HTML5-Datenbankinstanz

Detaillierte Erläuterung der lokalen HTML5-Datenbankinstanz

May 12, 2018 pm 02:46 PM

Web-SQL-Datenbanken von HTML5 (lokale HTML5-Datenbank) sind in der Tat sehr verlockend. Wenn Sie feststellen, dass Sie dieselbe Abfrageanweisung wie MySQL-Abfrage verwenden können, um die lokale Datenbank zu betreiben, werden Sie diese Sache sehr interessant finden. Heute lernen wir die Web-SQL-Datenbank-API von HTML 5 kennen: openDatabase, Transaction, ExecuteSql. Die Web SQL-Datenbank-API ist eigentlich nicht Teil der HTML5-Spezifikation, sondern eine separate Spezifikation. Es manipuliert die Datenbank des Clients über eine Reihe von APIs. Mainstream-Browser wie Safari, Chrome, Firefox und Opera unterstützen bereits Web SQL-Datenbank. Die Web-SQL-Datenbanken von HTML5 sind in der Tat sehr verlockend. Wenn Sie feststellen, dass Sie dieselbe Abfrageanweisung wie eine MySQL-Abfrage verwenden können, um eine lokale Datenbank zu betreiben, werden Sie diese Sache sehr interessant finden. Erfahren Sie heute mehr über die Web SQL-Datenbank-API von HTML 5.
Im Folgenden wird nacheinander vorgestellt, wie man eine Datenbank erstellt und öffnet, eine Tabelle erstellt, Daten hinzufügt, Daten aktualisiert , Daten löscht und eine Tabelle löscht.
Führen Sie zunächst drei Kernmethoden ein
1. openDatabase: Diese Methode verwendet eine vorhandene Datenbank oder erstellt eine neue DatenbankErstellt ein Datenbankobjekt. 2. Transaktion: Mit dieser Methode können wir die Übermittlung oder das Rollback von Transaktionen je nach Situation steuern.
3.executeSql: Diese Methode wird verwendet, um echte SQL-Abfragen auszuführen.

Schritt eins: Öffnen Sie die Verbindung und erstellen Sie die Datenbank

Der Code lautet wie folgt:

var dataBase = openDatabase("student", "1.0", "学生表", 1024 * 1024, function () { });
if
 (!dataBase) {
    alert("数据库创建失败!");
} 
else
 {
    alert("数据库创建成功!");
}
Nach dem Login kopieren
Erklären Sie die openDatabase-Methode zum Öffnen einer Eine vorhandene Datenbank kann auch erstellt werden, wenn sie nicht vorhanden ist. Die Bedeutung mehrerer Parameter ist:

1, Datenbankname.
2. Die Versionsnummer ist derzeit 1.0. Lassen Sie es einfach zu Tode.
3. Beschreibung der Datenbank.
4. Stellen Sie die Datengröße ein.
5,
Rückruffunktion (kann weggelassen werden). Erstellen Sie beim ersten Anruf die Datenbank und stellen Sie dann die Verbindung her.
Die erstellte Datenbank existiert lokal und der Pfad lautet wie folgt:
C:UsersAdministratorAppDataLocalGoogleChromeUser DataDefaultdatabaseshttp_localhost_4987.
Was erstellt wird, ist eine SQLite-Datenbank. Sie können
SQLiteSpy verwenden, um die Datei zu öffnen und die darin enthaltenen Daten anzuzeigen. SQLiteSpy ist eine umweltfreundliche Software. Sie können sie von Baidu oder der offiziellen SQLiteSpy-Downloadadresse herunterladen: SQLiteSpy.
Schritt 2: Erstellen Sie eine Datentabelle

Der Code lautet wie folgt:

this.createTable=function() {  
dataBase.transaction( function(tx) {     
tx.executeSql(        
"create table if not exists stu (id REAL UNIQUE, name TEXT)",         
[],         
function(tx,result){ alert('创建stu表成功'); 
},         
function(tx, error){ alert('创建stu表失败:' + error.message);     
}); 
});
}
Nach dem Login kopieren
Erklären Sie, dass die Funktion

executeSql vier Parameter hat Bedeutungen sind jeweils Ja:
1) Die
-Zeichenfolge stellt die Abfrage dar, die verwendete SQL-Sprache ist SQLite 3.6.19. 2) Die in die Abfrage eingefügten Zeichenfolgendaten an der Stelle, an der sich das Fragezeichen befindet.
3) Callback-Funktion wird bei Erfolg ausgeführt. Gibt zwei Parameter zurück: tx und das Ergebnis der Ausführung.
4) Eine Rückruffunktion, die ausgeführt wird, wenn ein Fehler auftritt. Gibt zwei Parameter zurück: tx und failed
Fehlermeldung .
Schritt 3: CRUD durchführen1) Daten hinzufügen:

Der Code lautet wie folgt:

this.insert = function () {
  dataBase.transaction(function (tx) {
            tx.executeSql(
        "insert  into  stu (id, name) values(?, ?)",
        [id, '徐明祥'],
        function () { alert('添加数据成功'); },
        function (tx, error) { alert('添加数据失败: ' + error.message); 
        } );
    });
Nach dem Login kopieren
2) Daten abfragen

Der Code lautet wie folgt:

this.query = function () {
  dataBase.transaction(function (tx) {
            tx.executeSql(
        "select  *  from  stu", [],
         function (tx, result) {  //执行成功的回调函数
             //在这里对result 做你想要做的事情吧...........
            },
         function (tx, error) {
            alert('查询失败: ' + error.message);
         } );
      });
}
Nach dem Login kopieren
Erklären Sie ihn

Die Rückruffunktion, die im obigen Code erfolgreich ausgeführt wird, hat einen Parameter result.

Ergebnis: der abgefragte
Datensatz. Sein Datentyp ist SQLResultSet, genau wie die DataTable in C#. SQLResultSet ist definiert als:

Der Code lautet wie folgt:

interface  SQLResultSet {
             readonly  attribute  long  insertId;
             readonly  attribute  long  rowsAffected;
             readonly  attribute  SQLResultSetRow
List
  rows;
             };
Nach dem Login kopieren
Das wichtigste

Attribut – die Zeilen vom Typ SQLResultSetRowList sind die „Zeilen“ des Datensatzes. Zeilen haben zwei Attribute: Länge und Element.
Ermitteln Sie also den Wert einer bestimmten Zeile und Spalte des Abfrageergebnisses: result.rows[i].item[fieldname].

3) Daten aktualisieren

Der Code lautet wie folgt:

this.update = function (id, name) {   
dataBase.transaction(function (tx) {            
tx.executeSql(        
"update  stu  set  name =  ?  where  id= ?",        
[name, id],         
function (tx, result) {         },        
function (tx, error) {            
alert('更新失败: ' + error.message);        
});   
});
}
Nach dem Login kopieren
4)Daten löschen

Der Code lautet wie folgt:

this.del = function (id) {
     dataBase.transaction(function (tx) {
            tx.executeSql(
        "
delete
  from  stu  where  id= ?",
        [id],
         function (tx, result) {
         },
        function (tx, error) {
            alert('删除失败: ' + error.message);
        });
    });
}
Nach dem Login kopieren
5) Löschen Sie die Datentabelle


Der Code lautet wie folgt:

this.dropTable = function () {    
dataBase.transaction(function (tx) {            
tx.executeSql('drop  table  stu');     
});
}
Nach dem Login kopieren
[Verwandte Empfehlungen]


1.

Kostenloses HTML5-Video-Tutorial

2.

H5-Code-Demonstration zum Erstellen eines Timers

3 Ausfüllen mehrerer Bild-Uploads

4. Detaillierte Erläuterung der benutzerdefinierten Attributdaten von H5-*

Lernen Sie, wie Sie ein H5-Mikro- Szene

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der lokalen HTML5-Datenbankinstanz. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Tabellenrahmen in HTML Tabellenrahmen in HTML Sep 04, 2024 pm 04:49 PM

Anleitung zum Tabellenrahmen in HTML. Hier besprechen wir verschiedene Möglichkeiten zum Definieren von Tabellenrändern anhand von Beispielen für den Tabellenrand in HTML.

Verschachtelte Tabelle in HTML Verschachtelte Tabelle in HTML Sep 04, 2024 pm 04:49 PM

Dies ist eine Anleitung für verschachtelte Tabellen in HTML. Hier diskutieren wir anhand der entsprechenden Beispiele, wie man eine Tabelle innerhalb der Tabelle erstellt.

HTML-Rand links HTML-Rand links Sep 04, 2024 pm 04:48 PM

Anleitung zum HTML-Rand links. Hier besprechen wir einen kurzen Überblick über HTML margin-left und seine Beispiele sowie seine Code-Implementierung.

HTML-Tabellenlayout HTML-Tabellenlayout Sep 04, 2024 pm 04:54 PM

Leitfaden zum HTML-Tabellenlayout. Hier besprechen wir die Werte des HTML-Tabellenlayouts zusammen mit den Beispielen und Ausgaben im Detail.

HTML-geordnete Liste HTML-geordnete Liste Sep 04, 2024 pm 04:43 PM

Leitfaden zur HTML-geordneten Liste. Hier besprechen wir auch die Einführung von HTML-geordneten Listen und Typen sowie deren Beispiele

Text in HTML verschieben Text in HTML verschieben Sep 04, 2024 pm 04:45 PM

Anleitung zum Verschieben von Text in HTML. Hier besprechen wir eine Einführung, wie Marquee-Tags funktionieren, mit Syntax und Beispielen für die Implementierung.

HTML-Eingabeplatzhalter HTML-Eingabeplatzhalter Sep 04, 2024 pm 04:54 PM

Leitfaden für HTML-Eingabeplatzhalter. Hier besprechen wir die Beispiele für HTML-Eingabeplatzhalter zusammen mit den Codes und Ausgaben.

HTML-Onclick-Button HTML-Onclick-Button Sep 04, 2024 pm 04:49 PM

Anleitung zum HTML-OnClick-Button. Hier diskutieren wir deren Einführung, Funktionsweise, Beispiele und Onclick-Events in verschiedenen Veranstaltungen.

See all articles