Web SQLデータベースAPIは、実際にはHTML5仕様の不可欠な部分ではなく、個別の仕様です。 APIのセットを使用して、クライアントのデータベースを操作します。 Safari、Chrome、Firefox、Operaなどの主流のブラウザは、すでにWeb SQLデータベースをサポートしています。 HTML5のWeb SQLデータベースは本当に魅力的です。 MySQLクエリと同じクエリステートメントを使用してローカルデータベースを操作できることがわかった場合、このことは非常に興味深いものになります。今日は、HTML 5のWeb SQLデータベースAPIについて学びましょう。
以下では、データベースの作成と開き、テーブルの作成、データの追加、データの更新、データの削除、テーブルの削除方法を紹介します。
最初に3つのコアメソッドを紹介します
1。OPENDATABASE:このメソッドは、既存のデータベースを使用するか、新しいデータベースを作成してデータベースオブジェクトを作成します。
2。トランザクション:この方法により、状況に応じてトランザクションコミットまたはロールバックを制御できます。
3。ExecutesQL:このメソッドは、実際のSQLクエリを実行するために使用されます。
ステップ1:接続を開き、データベースを作成します
var database = opendatabase( "desute"、 "1.0"、 "sustent table"、1024 * 1024、function(){});
if(!database){
Alert( "データベースの作成に失敗しました!");
} それ以外 {
alert( "データベースの作成に成功しました!");
}
Opendatabaseメソッドの説明既存のデータベースを開き、データベースが存在しない場合、データベースを作成することもできます。いくつかのパラメーターは次のとおりです。
1。データベース名。
2。バージョン番号は現在1.0です。何があっても、あなたがそれを死ぬまで書いても大丈夫です。
3。データベースの説明。
4.データのサイズを設定します。
5。コールバック関数(省略できます)。
最初の呼び出しでデータベースを作成し、接続を確立します。
作成されたデータベースはローカルで、パスは次のとおりです。
c:/users/administrator/appdata/local/google/chrome/user data/default/databases/http_localhost_4987。
作成されたSQLiteデータベースを使用してSQLitespyを使用してファイルを開くことができ、内部のデータを確認できます。 sqlitespyはグリーンソフトウェアです。 Baiduまたは公式のsqlitespyダウンロード:sqlitespyのアドレスをダウンロードできます。
ステップ2:データテーブルを作成します
this.createtable = function(){
database.transaction(function(tx){
tx.executesql(
「存在しない場合はテーブルを作成しましたstu(id real inited、name text)」
[]、
function(tx、result){alert( '作成されたstuテーブルに正常に'); }、
function(tx、error){alert( 'Stuテーブルの作成失敗:' + error.message);
});
});
}
それを説明してください、
executesQl関数には4つのパラメーターがあり、その意味は次のとおりです。
1)クエリ文字列を表し、使用されるSQL言語はSQLite 3.6.19です。
2)疑問符が配置されているクエリに文字列データを挿入します。
3)成功したときに実行されるコールバック関数。 TXと実行の結果の2つのパラメーターを返します。
4)障害時に実行されたコールバック関数。 TXと故障したエラーメッセージの2つのパラメーターを返します。
ステップ3:追加、削除、変更、および検索を実行します
1)データの追加:
this.insert = function(){
database.transaction(function(tx){
tx.executesql(
「stu(id、name)values(?、?)に挿入」、
[id、 'xu mingxiang']、
function(){alert( 'データを正常に追加'); }、
function(tx、error){alert( 'add data faild:' + error.message);
});
});
2)データのクエリ
this.query = function(){
database.transaction(function(tx){
tx.executesql(
"Select * from Stu"、[]、
function(tx、result){//成功したコールバック関数を実行します
//ここで結果を得るためにやりたいことをしてください.........
}、
関数(TX、エラー){
alert( 'クエリが失敗した:' + error.message);
});
});
}
それを説明してください
上記のコードで正常に実行されたコールバック関数には、パラメーターの結果があります。
結果:クエリデータセット。そのデータ型は、C#のデータテーブルと同様に、sqlResultsetです。
sqlResultsetの定義は次のとおりです。
インターフェイスsqlResultset {
readonly属性long insertid;
readonly属性の長いラウィューはありません。
readonly属性sqlresultsetrowlist行。
};
最も重要なプロパティ - SQLResultSetRowlistタイプの行は、データセットの行です。
行には、長さとアイテムの2つのプロパティがあります。
したがって、行の値とクエリ結果の列を取得します:result.rows [i] .item [fieldname]。
3)データを更新します
this.update = function(id、name){
database.transaction(function(tx){
tx.executesql(
「stu set name =?where id =?」を更新します」、
[名前、id]、
function(tx、result){
}、
関数(TX、エラー){
alert( '更新が失敗しました:' + error.message);
});
});
}
4)データを削除します
this.del = function(id){
database.transaction(function(tx){
tx.executesql(
「stuからdelete where id =?」
[id]、
function(tx、result){
}、
関数(TX、エラー){
アラート( '削除が失敗した:' + error.message);
});
});
}
5)データテーブルを削除します
this.droptable = function(){
database.transaction(function(tx){
tx.executesql( 'ドロップテーブルStu');
});
}
Web SQLデータベースデモを追加、削除、変更、チェックし、すぐにダウンロードします。