dryLang
docsplaygrounddownloadgithub

Getting Started

  • Home
  • Getting Started
  • Setup

Language Basics

  • Variables
  • Types
  • Operators
  • Comments
  • Strings

Control Flow

  • Control Flow
  • Loops

Advanced Concepts

  • Functions
  • Structs
  • Collections
  • Modules
  • HTTP Server
  • Database

Reference

  • Built-ins
  • Error Handling
  • Errors

Examples

  • Hello
  • Variables
  • Functions
  • Control Flow
  • Structs
  • Arrays Maps
  • Try Err
  • Imports
  • Math
  • Strings
  • Http Server
  • Database
  • File Io

Templates

  • Automation
  • Cli Tool
  • Crud
  • Fetch Json
  • File Server
  • Hello
  • Html Render
  • Rest Api
Docs Menu

Getting Started

  • Home
  • Getting Started
  • Setup

Language Basics

  • Variables
  • Types
  • Operators
  • Comments
  • Strings

Control Flow

  • Control Flow
  • Loops

Advanced Concepts

  • Functions
  • Structs
  • Collections
  • Modules
  • HTTP Server
  • Database

Reference

  • Built-ins
  • Error Handling
  • Errors

Examples

  • Hello
  • Variables
  • Functions
  • Control Flow
  • Structs
  • Arrays Maps
  • Try Err
  • Imports
  • Math
  • Strings
  • Http Server
  • Database
  • File Io

Templates

  • Automation
  • Cli Tool
  • Crud
  • Fetch Json
  • File Server
  • Hello
  • Html Render
  • Rest Api

Database

drylang
// 12_database.y
// Demonstrates built-in SQLite database support using db()

DB_FILE "test_db.sqlite"

pt "--- Setup ---"
// Create a table
db("sqlite", DB_FILE, "CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)")
pt "Table created."

pt "--- Insert ---"

res1 db("sqlite", DB_FILE, "INSERT INTO users (name, age) VALUES (?, ?)", "Zaky", 17)
pt "Inserted Zaky, rows affected: " + str(res1["rows_affected"])

res2 db("sqlite", DB_FILE, "INSERT INTO users (name, age) VALUES (?, ?)", "Alice", 25)
pt "Inserted Alice, rows affected: " + str(res2["rows_affected"])

pt "--- Query ---"
// Query all users. Returns an array of maps.
users db("sqlite", DB_FILE, "SELECT * FROM users")
lp len(users) {
    pt "User " + str(users[i]["id"]) + ": " + users[i]["name"] + " (Age: " + str(users[i]["age"]) + ")"
}

pt "--- Update ---"
// Update a record
db("sqlite", DB_FILE, "UPDATE users SET age = ? WHERE name = ?", 18, "Zaky")
pt "Updated Zaky's age."

pt "--- Query with WHERE ---"
// Query with parameters
adults db("sqlite", DB_FILE, "SELECT * FROM users WHERE age >= ?", 18)
pt "Found " + str(len(adults)) + " adults:"
lp len(adults) {
    pt "- " + adults[i]["name"]
}

pt "--- Cleanup ---"
// Delete the test database file
del(DB_FILE)
pt "Cleaned up database file."
PreviousHttp ServerNextFile Io