Frage

Ich spiele um mit HTML-Client-Seite Lagerung und wollte wissen, ob es irgendwelche Einrichtungen zur Selbstprüfung der Datenbank sind - ist es ein Äquivalent von SQLite „.tables“ oder „.schema“

?

Auch ich sehe nicht meine Tabellen in AppData \ Local \ Apple Computer \ Safari \ Localstorage angezeigt. Gibt es einen anderen Ort Tabellen gespeichert werden?

War es hilfreich?

Lösung

Dies ist Browser-spezifisch.

Für Safari, müssen Sie Safari 4 - sie haben eine Inspektionswerkzeug (Abbildung 2-11) für diesen Zweck.

Andere Tipps

Safari speichert die Tabellen in "AppData \ Local \ Apple Computer \ Safari \ Databases".

Erste Databases.db ist eine sqlite3 Datenbank mit 2 Tabellen.

  

Origins verfolgt, welche Website die Datenbank und die maximale Speicherkapazität für diese Datenbank erstellt.

     

Datenbanken verfolgt die spezifischen Datenbanken und deren Ordner gemeinsam und Dateiname

Ich benutze sqlite3 Kommandozeilen-Tool oder manchmal Administrator SQLite. Jedes sqlite3 App tun.

Ihre Datenbank wird in einem Unterordner sein wie http_exeample_com_0 \ 00000000003.db

select * from sqlite_master;

Das Tabellenspalten für Typ hat ( 'table' oder 'Index'), name, tbl_name, sql (das Äquivalent von was .schema Ausgänge)

Ich habe ein Skript erstellt, um die Inhalte der Datenbank angezeigt werden soll.

<!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>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top