AppML .NET


As jy toegang tot 'n .NET-bediener het, volg die instruksies hieronder om 'n AppML-bedienertoepassing te skep.


Skep 'n toetsbladsy

Skep 'n toetsbladsy en stoor op jou PHP-bediener as kliënte.htm (of enigiets waarvan jy hou):

kliënte.htm

<!DOCTYPE html>
<html lang="en">
<title>Customers</title>
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<script src="https://www.w3schools.com/appml/2.0.3/appml.js"></script>
<body>

<div class="w3-container" appml-data="customers">
<h1>Customers</h1>
<table class="w3-table-all">
  <tr>
    <th>Customer</th>
    <th>City</th>
    <th>Country</th>
  </tr>
  <tr appml-repeat="records">
    <td>{{CustomerName}}</td>
    <td>{{City}} </td>
    <td>{{Country}} </td>
  </tr>
</table>
</div>

<script>
var customers = {
"records":[
{"CustomerName":"Alfreds Futterkiste","City":"Berlin","Country":"Germany"},
{"CustomerName":"Ana Trujillo Emparedados y helados","City":"México D.F.","Country":"Mexico"},
{"CustomerName":"Antonio Moreno Taquería","City":"México D.F.","Country":"Mexico"},
{"CustomerName":"Around the Horn","City":"London","Country":"UK"},
{"CustomerName":"B's Beverages","City":"London","Country":"UK"},
{"CustomerName":"Berglunds snabbköp","City":"Luleå","Country":"Sweden"},
{"CustomerName":"Blauer See Delikatessen","City":"Mannheim","Country":"Germany"},
{"CustomerName":"Blondel père et fils","City":"Strasbourg","Country":"France"},
{"CustomerName":"Bólido Comidas preparadas","City":"Madrid","Country":"Spain"},
{"CustomerName":"Bon app'","City":"Marseille","Country":"France"},
{"CustomerName":"Bottom-Dollar Marketse","City":"Tsawassen","Country":"Canada"},
{"CustomerName":"Cactus Comidas para llevar","City":"Buenos Aires","Country":"Argentina"},
{"CustomerName":"Centro comercial Moctezuma","City":"México D.F.","Country":"Mexico"},
{"CustomerName":"Chop-suey Chinese","City":"Bern","Country":"Switzerland"},
{"CustomerName":"Comércio Mineiro","City":"São Paulo","Country":"Brazil"}
]};
</script>

</body>
</html>

Toets die webblad in jou blaaier.


Skep 'n databasisverbinding

As jy toegang het tot 'n SQL Server-databasis, of enige ander OLEDB-databasisse (soos MS Acess), definieer die databasisverbindings, en stoor dit op die bediener as appml_config.aspx :

appml_config.aspx (SQL-bedienervoorbeeld)

<%
Response.write("Access Forbidden")
Response.end
%>
{
"dateformat" : "yyyy-mm-dd",
"databases" : [{
"connection" : "mydatabase",
"provider"   : "SQLOLEDB",
"host"       : "myserver",
"dbname"     : "DemoDB",
"username"   : "DemoDBUkbn5",
"password"   : "l6|U6=V(*T+P"
}]
}

appml_config.aspx (MS Access Voorbeeld)

<%
Response.write("Access Forbidden")
Response.end
%>
{
"dateformat" : "yyyy-mm-dd",
"databases" : [{
"connection" : "mydatabase",
"connectionstring" :
"Provider=Microsoft.Jet.OLEDB.4.0;data source=C:\\database\\Northwind.mdb"
}]
}

Die verband hierbo is nie werklik nie. Name en wagwoorde is voorbeelde.


Konfigurasielêer verduidelik:

Eiendom Beskrywing
Datum formaat Die datumformaat wat jy in jou modelle sal gebruik
verband Die verbindingsnaam wat jy in jou modelle sal gebruik
verbindingstring Word gewoonlik gebruik vir OLEDB-bestuurders soos MS Access
verskaffer Die bestuurder/verskaffer van db sagteware
gasheer Die IP of gasheernaam vir die databasis
dbnaam Die databasis naam
gebruikernaam Die databasis gebruikersnaam
wagwoord Die databasis wagwoord

Kopieer AppML

Laai die lêer af: https://www.w3schools.com/appml/2.0.3/appml.aspx.txt .

Kopieer die lêer na jou webwerf. Hernoem dit na appml.aspx .


Skep 'n databasistabel 

Skep 'n model vir die skep van 'n klante-tabel in die databasis.

skep_kliënte.js

{
"database" : {
"connection" : "mydatabase",
"execute" : [
"DROP TABLE IF EXISTS Customers",
"CREATE TABLE IF NOT EXISTS Customers (CustomerID INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,(CustomerID),CustomerName NVARCHAR(255),ContactName NVARCHAR(255),Address NVARCHAR(255),City NVARCHAR(255),PostalCode NVARCHAR(255),Country NVARCHAR(255))",
"INSERT INTO Customers(CustomerName,ContactName,Address,City,PostalCode,Country)VALUES (\"Alfreds Futterkiste\",\"Maria Anders\",\"Obere Str. 57\",\"Berlin\",\"12209\",\"Germany\")",
"INSERT INTO Customers(CustomerName,ContactName,Address,City,PostalCode,Country)VALUES (\"Around the Horn\",\"Thomas Hardy\",\"120 Hanover Sq.\",\"London\",\"WA1 1DP\",\"UK\")",
"INSERT INTO Customers(CustomerName,ContactName,Address,City,PostalCode,Country)VALUES (\"Blauer See Delikatessen\",\"Hanna Moos\",\"Forsterstr. 57\",\"Mannheim\",\"68306\",\"Germany\")"
]
}}

Skep 'n HTML-bladsy om die create_customers.js-model te laat loop:

skep_kliënte.htm

<!DOCTYPE html>
<html>
<script src="https://www.w3schools.com/appml/2.0.3/appml.js"></script>
<body>

<div appml-data="appml.aspx?model=create_customers"></div>

</body>
</html>

Begin die HTML-bladsy in jou blaaier.


Skep 'n toepassing 

Skep 'n model vir die klante-toepassing. Stoor dit as kliënte.js :

kliënte.js

{
"rowsperpage" : 10,
"database" : {
    "connection" : "mydatabase",
    "sql" : "SELECT * FROM Customers",
    "orderby" : "CustomerName"
}
}

Skep 'n HTML-bladsy om die klante-toepassing te laat loop:

kliënte.htm

<!DOCTYPE html>
<html lang="en">
<title>Customers</title>
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<script src="https://www.w3schools.com/appml/2.0.3/appml.js"></script>
<body>

<div class="w3-container" appml-data="appml.aspx?model=model_customers">
<h1>Customers</h1>
<table class="w3-table-all">
  <tr>
    <th>Customer</th>
    <th>City</th>
    <th>Country</th>
  </tr>
  <tr appml-repeat="records">
    <td>{{CustomerName}}</td>
    <td>{{City}}</td>
    <td>{{Country}}</td>
  </tr>
</table>
</div>

</body>
</html>

Begin die HTML in jou blaaier.