문제

나는 HTML Client Side Storage와 함께 놀고 있으며 데이터베이스의 내성을위한 시설이 있는지 알고 싶었습니다. SQLITE ".Tables"또는 ".Schema"와 동등한 것이 있습니까?

또한 AppData Local Apple Computer Safari LocalStorage에 테이블이 나타나는 것을 보지 못합니다. 다른 장소 테이블이 저장되어 있습니까?

도움이 되었습니까?

해결책

이것은 브라우저 특정입니다.

Safari의 경우 Safari 4가 필요합니다. 검사 도구(그림 2-11) 그 목적을 위해.

다른 팁

Safari는 "AppData Local Apple Computer Safari Database"에 테이블을 저장합니다.

First Databases.db는 2 개의 테이블이있는 SQLITE3 데이터베이스입니다.

Origins는 해당 데이터베이스의 데이터베이스 및 최대 스토리지를 생성 한 사이트를 추적합니다.

데이터베이스는 특정 데이터베이스 및 해당 폴더, 공통 및 파일 이름을 추적합니다.

sqlite3 명령 줄 도구 또는 때로는 sqlite 관리자를 사용합니다. 모든 sqlite3 앱이 수행됩니다.

데이터베이스는 http_exeample_com_0 0000000033.db와 같은 하위 폴더에 있습니다.

select * from sqlite_master;

이 테이블에는 유형 ( '테이블'또는 'index'), 이름, tbl_name, sql (.Schema 출력과 동일)에 대한 열이 있습니다.

데이터베이스의 내용을 표시하는 스크립트를 만들었습니다.

<!DOCTYPE html>
<html>
<head>
<title>sqlite database</title>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
var db;
function openDB(shortName, version, displayName, maxSize){
 try{
  if(window.openDatabase)
  {
   db = openDatabase(shortName, version, displayName, maxSize);
  }
  else
  {
   alert("Your browser does not have a sqlite database");
  }
 }catch(e){
  alert(e);
 }
}
function executeQuery($query,callback,errorcallback){
 try{
  if(window.openDatabase){
   db.transaction(function(tx){
    tx.executeSql($query,[],function(tx,result){
     if(typeof callback == "function"){
      callback(result);
     }else{
      if(callback != undefined){
       eval(callback+"(result)");
      }
     }
    },function(tx,error){
     if(typeof errorcallback == "function"){
      errorcallback(error);
     }else{
      if(errorcallback != undefined){
       eval(errorcallback+"(error)");
      }
     }
    });
   });
  }
 }catch(e){
  alert(e);
 }
}
$(function(){
  openDB("dbname", "1.0", "Display Name", 2 * 1024 * 1024/*size of db*/);
  executeQuery("SELECT name FROM sqlite_master WHERE type='table'", function(tables)
  {
   var tableNames = new Array();
   for(var i = 1; i < tables.rows.length; i++)//i starts at 1 to skip over the "__WebKitDatabaseInfoTable__" table
   {
    tableNames.push(tables.rows.item(i).name);
   }
   var count = 0;
   for(var i = 0; i < tableNames.length; i++)//if there is no information in the table we cannot get the column names;
   {
    executeQuery("SELECT * FROM " + tableNames[i], function(results){
    var columnNames = new Array();
    var table = "<div class='tableName'>" + tableNames[count++] + "</div><table cellspacing='0' cellspacing='0' class='table'>";
    if(results.rows.length > 0)
    {
     table += "<tr class='headerRow'>";
     for(var column in results.rows.item(0))
     {
      columnNames.push(column);
      table += "<th class='columnName'>" + column + "</th>";
     }
     table += "</tr>"
     for(var i = 0; i < results.rows.length; i++)
     {
      table += "<tr class='tableRow'>";
      for(var columnName in columnNames)
      {
       table += "<td class='tableEntry'>" + results.rows.item(i)[columnNames[columnName]] + "</td>";
      }
      table += "</tr>";
     }
    }
    else
    {
     table += "<tr><td>empty</td></tr>";
    }
    table += "</table>";
    $("body").append(table);
   }, function(error){
    alert(error.message);
   });
  }
 }, function(error){
  alert(error.message);
 });
});
</script>
<style type="text/css">
.tableName{
 font-variant: small-caps;
 font-size: 20px;
 margin-top: 15px;
}
.headerRow{
    background-color: #ff0;
}
.columnName{
 border: 1px solid #000;
 padding: 2px 10px;
}
.tableRow{
    background-color: #AFA;
}
.tableEntry{
 border: 1px solid #000;
 padding: 2px 10px;
}
.table{
 border: 1px solid #000;
}
</style>
</head>
<body>
</body>
</html>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top