最新的Web開發教程
 

AppML參考 - 數據庫


"database"屬性

"database"屬性定義一個數據庫作為數據源。 它具有以下子屬性:

元件 描述
"connection" 數據庫連接的名稱
"execute" 前數據檢索要執行的SQL語句的陣列(optional)
"keyfield" 主表中的關鍵字段(optional)
"maintable" 主表此應用程序(optional)
"orderby" 為應用程序的固定SQL的OrderBy子句(optional)
"sql" 用於檢索數據的SQL語句

將數據從數據庫

該模型包含獲取客戶,城市和鄉村從客戶表中的SQL數據庫中的記錄:

{
"database": {
    "connection": "mysql",
    "sql"       : "SELECT CustomerName, City, Country FROM Customers",
    "orderby"   : "CustomerName"
}
}

過濾器限制

要允許用戶過濾數據,您可以添加過濾信息到模型:

"filteritems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}]

排序限制

為了讓用戶對數據進行排序,您可以添加排序信息模型:

"sortitems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}]

更新限制

要允許用戶更新數據,可以在模型中包含的更新信息:

"updateItems" : [
    {"item" : "CustomerName"},
    {"item" : "Address"},
    {"item" : "PostalCode"},
    {"item" : "City"},
    {"item" : "Country"}]

默認情況下,AppML將讓你篩選,排序,或更新數據,只有它在模型中指定。


數據庫連接

數據庫連接在appml_config.php定義:

appml_config.php

<?php echo("Access Forbidden");exit();?>
{
"dateformat" : "yyyy-mm-dd",
"databases": [
    {
    "connection" : "mysql",
    "host"       : "127.0.0.1:3306",
    "dbname"     : "Northwind",
    "username"   : "myUserId",
    "password"   : "myPassword"
    },
    {
    "connection" : "googleDB",
    "host"       : "192.168.1.1:3306",
    "dbname"     : "Northwind",
    "username"   : "myUserId",
    "password"   : "myPassword"
    },
    {
    "connection" : "amazonDB",
    "host"       : "mydbinstance.amazon.com:3306",
    "dbname"     : "Northwind",
    "username"   : "myUserId",
    "password"   : "myPassword"
    },
    {
    "connection" : "azureDB",
    "host"       : "azure.cloudapp.net",
    "dbname"     : "Northwind",
    "username"   : "myUserId",
    "password"   : "myPassword"
    }
]
}

配置文件可以包含多個數據庫連接。


創建數據庫

由於AppML可以讓你的應用程序啟動之前執行的SQL語句,你可以使用這個如果需要創建一個數據庫:

模型

{
"database" : {
"connection" : "myCDs",
"execute" : [
"DROP TABLE IF EXISTS CD_Catalog",
"CREATE TABLE IF NOT EXISTS CD_Catalog (CDID INT NOT NULL AUTO_INCREMENT,PRIMARY KEY (CDID),Title NVARCHAR(255),Artist NVARCHAR(255),Country NVARCHAR(255),Price NUMBER)"
]
}}

完美的快速原型!