آموزش استفاده از پایگاه داده web sql در Html5
معرفی
SQL Web جزئی از Html5 می باشد. اما این یک ویژگی جداگانه است و هنوز هم می تواند برای توسعه برنامه های کاربردی وب کمک کند. Web SQL برای دستکاری در پایگاه داده مشتری مورد استفاده قرار می گیرد. از آنجا که من می گویم که استفاده از آن خوب است، خطرناک نیز هست زیرا داده ها را در سمت سرویس گیرنده ذخیره می کند، نه در سمت سرور. بنابراین همیشه به یاد داشته باشید، اطلاعات حساس به سرور را درون آن ذخیره نکنید.
توجه داشته باشید
پایگاه داده SQL Web فقط در آخرین نسخه های Safari، Google Chrome و مرورگرهای اپرا کار می کند.
متد های اصلی Web SQL
در این مقاله 3 متد اصلی وب SQL را آموزش می دهیم:
ایجاد و باز کردن پایگاه داده
با استفاده از روش openDatabase شما می توانید یک شی برای پایگاه داده ایجاد کنید. اگر پایگاه داده وجود ندارد، آن را ایجاد می کند و سپس یک شی برای آن پایگاه داده ایجاد خواهد شد. همچنین لازم نیست نگران بسته شدن اتصال با پایگاه داده باشید.
برای ایجاد و باز کردن پایگاه داده شما باید از نحو زیر استفاده کنید.
var dbObj = OpenDatabase ('[Database_Name]'، '[Version_Number]'، '[Text_Description]'، '[size]'، '[Creation_Callback]')
مثال
مثال زیر نحوه ایجاد یک پایگاه داده یا شی آن را توضیح می دهد.
1- اول، یک دکمه در HTML 5 صفحه خود را به عنوان در زیر ایجاد کنید:
<!DOCTYPE html>
<html>
<head>
<title>Open Database</title>
</head>
<body>
<button id="btnCreateDB">Create Database</button>
</body>
</html>
function CreateDB() {
var Database_Name = 'MyDatabase';
var Version = 1.0;
var Text_Description = 'My First Web-SQL Example';
var Database_Size = 2 * 1024 * 1024;
var dbObj = openDatabase(Database_Name, Version, Text_Description, Database_Size, OnSuccessCreate());
}
function OnSuccessCreate() {
alert('Database Created Sucessfully');
}
<!DOCTYPE html>
<html>
<head>
<title>Open DataBase</title>
<script>
function CreateDB() {
var Database_Name = 'MyDatabase';
var Version = 1.0;
var Text_Description = 'My First Web-SQL Example';
var Database_Size = 2 * 1024 * 1024;
var dbObj = openDatabase(Database_Name, Version, Text_Description, Database_Size, OnSuccessCreate());
}
function OnSuccessCreate() {
alert('Database Created Sucessfully');
}
</script>
</head>
<body>
<button id="btn1" onclick="CreateDB()">Create Database</button>
</body>
</html>
و درون ابزار توسعه دهنده پایگاه داده را خواهید یافت.
تا اینجا مشاهده کردید که چگونه می توان پایگاه داده را در وب SQL ایجاد و باز کرد، بنابراین با استفاده از عمل openDatabase می توان یک پایگاه داده را در Web SQL ایجاد کرد و پایگاه داده را باز کرد. 5 پارامتر که توسط این تابع openDatabase پذیرفته شده است عبارتند از:
این آرگومان نام پایگاه داده ای را ارائه می دهد که اجباری است، در غیر این صورت شما یک خطا دریافت خواهید کرد.
شماره نسخه نیز مورد نیاز است. برخی از پایگاه داده ممکن است در نسخه 2.0 باشد و ممکن است در 1.0 باشد، بنابراین اگر شما می دانید شماره نسخه پایگاه داده، تنها می توانید آن را باز کنید.
این آرگومان پایگاه داده را شرح می دهد و اطلاعاتی در مورد پایگاه داده ارائه می دهد.
این آرگومان اندازه پایگاه داده را تعیین می کند.
این آرگومان اختیاری است، و پایگاه داده نیز ایجاد خواهد شد، اما اگر شما می خواهید پس از ایجاد یک پایگاه داده عملی را انجام دهید، می توانید از آن استفاده کنید، بنابراین اگر پایگاه داده با موفقیت ایجاد شود، این متد انجام خواهد شد.
Transactions
پس از باز کردن پایگاه داده ما می توانیم Transactions ایجاد کنیم. این متد در زمانی که خطایی در عملیات دیتابیس رخ دهد تمامی عملیات را به حات اولیه بر می گرداند که این کار باعث امنیت و تسهیل در روند اجرای پروژه می شود و در صورتی که عملیات هیچ گونه خطایی نداشته باشد کل عملیات اجرا می شود.
مثال
function CreateDB() {
var Database_Name = 'MyDatabase';
var Version = 1.0;
var Text_Description = 'My First Web-SQL Example';
var Database_Size = 2 * 1024 * 1024;
var dbObj = openDatabase(Database_Name, Version, Text_Description, Database_Size);
dbObj.transaction(function (tx) {
//Code of the transaction
//will goes here
});
}
executeSql
این روش نقش بسیار مهمی در پایگاه داده Web SQL دارد. این روش برای اجرای دستورات خواندن و نوشتن استفاده می شود که عبارتند از طرح تزریق SQL و یک روش فراخوانی برای پردازش نتیجه نمایش داده می شود. اگر ما یک شیء Transaction داشته باشیم، می توانیم روش executeSql را فراخوانی کنیم.
مثال
مثال زیر نیز توضیح می دهد که چگونه یک جدول را در Web SQL ایجاد کنید.
<!DOCTYPE html>
<html>
<head>
<title>Open DataBase</title>
<script>
function CreateDB() {
var Database_Name = 'MyDatabase';
var Version = 1.0;
var Text_Description = 'My First Web-SQL Example';
var Database_Size = 2 * 1024 * 1024;
var dbObj = openDatabase(Database_Name, Version, Text_Description, Database_Size);
dbObj.transaction(function (tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS Employee_Table (id unique, Name, Location)');
});
}
</script>
</head>
<body>
<button id="Create_DB_n_Table" onclick="CreateDB()">Create Database & Table</button>
</body>
</html>
خروجی مثال قبلی
1- هنگامی که صفحه بارگذاری می شود:
چگونه می توان داده ها را در جدول Web SQL قرار داد
مثال زیر نحوه قرار دادن داده ها در پایگاه داده را توضیح می دهد.
<!DOCTYPE html>
<html>
<head>
<title>Open DataBase</title>
<script>
var Database_Name = 'MyDatabase';
var Version = 1.0;
var Text_Description = 'My First Web-SQL Example';
var Database_Size = 2 * 1024 * 1024;
var dbObj = openDatabase(Database_Name, Version, Text_Description, Database_Size);
dbObj.transaction(function (tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS Employee_Table (id unique, Name, Location)');
});
function Insert() {
var id = document.getElementById("tbID").value;
var name = document.getElementById("tbName").value;
var location = document.getElementById("tbLocation").value;
dbObj.transaction(function (tx) {
tx.executeSql('insert into Employee_Table(id, Name, Location) values(' + id + ',"' + name + '","' + location + '")');
});
}
</script>
</head>
<body>
<form id="frm1">
<table>
<tr>
<td>ID:</td>
<td><input type="text" id="tbID" /></td>
</tr>
<tr>
<td>Name:</td>
<td><input type="text" id="tbName" /></td>
</tr>
<tr>
<td>Location:</td>
<td><input type="text" id="tbLocation" /></td>
</tr>
<tr>
<td><button id="btnInsert" onclick="Insert()">Insert</button></td>
</tr>
</table>
</form>
</body>
</html>
در مثال قبلی، یک فرم را ایجاد کرده و 3 جعبه متن و یک دکمه ایجاد کردم تا مقدار را دریافت کنم و آن را ارسال کنم.
1- وقتی صفحه لود می شود:
چگونگی خواندن داده ها از وب SQL
مثال زیر نحوه خواندن داده ها از SQL Web را توضیح می دهد.
<!DOCTYPE html>
<html>
<head>
<title>Open DataBase</title>
<script>
var Database_Name = 'MyDatabase';
var Version = 1.0;
var Text_Description = 'My First Web-SQL Example';
var Database_Size = 2 * 1024 * 1024;
var dbObj = openDatabase(Database_Name, Version, Text_Description, Database_Size);
dbObj.transaction(function (tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS Employee_Table (id unique, Name, Location)');
});
function Insert() {
var id = document.getElementById("tbID").value;
var name = document.getElementById("tbName").value;
var location = document.getElementById("tbLocation").value;
dbObj.transaction(function (tx) {
tx.executeSql('insert into Employee_Table(id, Name, Location) values(' + id + ',"' + name + '","' + location + '")');
});
}
dbObj.transaction(function (tx) {
tx.executeSql('SELECT * FROM Employee_Table', [], function (tx, results) {
var len = results.rows.length, i;
var str = '';
for (i = 0; i < len; i++) {
str += "<tr>";
str += "<td>" + results.rows.item(i).id + "</td>";
str += "<td>" + results.rows.item(i).Name + "</td>";
str += "<td>" + results.rows.item(i).Location + "</td>";
str += "</tr>";
document.getElementById("tblGrid").innerHTML += str;
str = '';
}
}, null);
});
</script>
</head>
<body>
<p id="hh"></p>
<form id="frm1">
<table>
<tr>
<td>ID:</td>
<td><input type="text" id="tbID" /></td>
</tr>
<tr>
<td>Name:</td>
<td><input type="text" id="tbName" /></td>
</tr>
<tr>
<td>Location:</td>
<td><input type="text" id="tbLocation" /></td>
</tr>
<tr>
<td><button id="btnInsert" onclick="Insert()">Insert</button></td>
</tr>
</table>
</form>
<table id="tblGrid" cellpadding="10px" cellspacing="0" border="1">
<tr style="background-color:black;color:white;font-size:18px;">
<td>
ID
</td>
<td>
Name
</td>
<td>
Location
</td>
</tr>
</table>
</body>
</html>
مانند دستورات SQL Server، با استفاده از یک کوئری select داده ها را از وب SQL بخوانید.
خروجی کد بالا: