/desktopapp-delphi-example

Desktop application made using Delphi 12 Community Edition

Primary LanguagePascal

desktopapp-delphi-example

Desktop application made using Delphi 12 Community Edition

This application uses SQL Server as a database provider for it's work. It requires delphi_app database as a parent database. You can use script below to create database and it's tables for a particular SQL Server instance, but you'll still need to manually update connection string settings inside an app.

/****** Object:  Database [delphi_app]    Script Date: 10.09.2024 17:02:23 ******/
CREATE DATABASE [delphi_app]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'delphi_app', SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
 LOG ON 
( NAME = N'delphi_app_log', SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
 WITH CATALOG_COLLATION = DATABASE_DEFAULT, LEDGER = OFF
GO
ALTER DATABASE [delphi_app] SET COMPATIBILITY_LEVEL = 160
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [delphi_app].[dbo].[sp_fulltext_database] @action = 'enable'
end
GO
ALTER DATABASE [delphi_app] SET ANSI_NULL_DEFAULT OFF 
GO
ALTER DATABASE [delphi_app] SET ANSI_NULLS OFF 
GO
ALTER DATABASE [delphi_app] SET ANSI_PADDING OFF 
GO
ALTER DATABASE [delphi_app] SET ANSI_WARNINGS OFF 
GO
ALTER DATABASE [delphi_app] SET ARITHABORT OFF 
GO
ALTER DATABASE [delphi_app] SET AUTO_CLOSE OFF 
GO
ALTER DATABASE [delphi_app] SET AUTO_SHRINK OFF 
GO
ALTER DATABASE [delphi_app] SET AUTO_UPDATE_STATISTICS ON 
GO
ALTER DATABASE [delphi_app] SET CURSOR_CLOSE_ON_COMMIT OFF 
GO
ALTER DATABASE [delphi_app] SET CURSOR_DEFAULT  GLOBAL 
GO
ALTER DATABASE [delphi_app] SET CONCAT_NULL_YIELDS_NULL OFF 
GO
ALTER DATABASE [delphi_app] SET NUMERIC_ROUNDABORT OFF 
GO
ALTER DATABASE [delphi_app] SET QUOTED_IDENTIFIER OFF 
GO
ALTER DATABASE [delphi_app] SET RECURSIVE_TRIGGERS OFF 
GO
ALTER DATABASE [delphi_app] SET  DISABLE_BROKER 
GO
ALTER DATABASE [delphi_app] SET AUTO_UPDATE_STATISTICS_ASYNC OFF 
GO
ALTER DATABASE [delphi_app] SET DATE_CORRELATION_OPTIMIZATION OFF 
GO
ALTER DATABASE [delphi_app] SET TRUSTWORTHY OFF 
GO
ALTER DATABASE [delphi_app] SET ALLOW_SNAPSHOT_ISOLATION OFF 
GO
ALTER DATABASE [delphi_app] SET PARAMETERIZATION SIMPLE 
GO
ALTER DATABASE [delphi_app] SET READ_COMMITTED_SNAPSHOT OFF 
GO
ALTER DATABASE [delphi_app] SET HONOR_BROKER_PRIORITY OFF 
GO
ALTER DATABASE [delphi_app] SET RECOVERY SIMPLE 
GO
ALTER DATABASE [delphi_app] SET  MULTI_USER 
GO
ALTER DATABASE [delphi_app] SET PAGE_VERIFY CHECKSUM  
GO
ALTER DATABASE [delphi_app] SET DB_CHAINING OFF 
GO
ALTER DATABASE [delphi_app] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF ) 
GO
ALTER DATABASE [delphi_app] SET TARGET_RECOVERY_TIME = 60 SECONDS 
GO
ALTER DATABASE [delphi_app] SET DELAYED_DURABILITY = DISABLED 
GO
ALTER DATABASE [delphi_app] SET ACCELERATED_DATABASE_RECOVERY = OFF  
GO
ALTER DATABASE [delphi_app] SET QUERY_STORE = ON
GO
ALTER DATABASE [delphi_app] SET QUERY_STORE (OPERATION_MODE = READ_WRITE, CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = 30), DATA_FLUSH_INTERVAL_SECONDS = 900, INTERVAL_LENGTH_MINUTES = 60, MAX_STORAGE_SIZE_MB = 1000, QUERY_CAPTURE_MODE = AUTO, SIZE_BASED_CLEANUP_MODE = AUTO, MAX_PLANS_PER_QUERY = 200, WAIT_STATS_CAPTURE_MODE = ON)
GO
/****** Object:  Table [dbo].[requests]    Script Date: 10.09.2024 17:02:23 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[requests](
	[id] [int] IDENTITY(1,1) NOT NULL,
	[request_date] [date] NULL,
	[requester_name] [nvarchar](100) NOT NULL,
	[request_type] [int] NULL,
	[status] [nvarchar](20) NOT NULL,
	[description] [nvarchar](max) NULL,
PRIMARY KEY CLUSTERED 
(
	[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/****** Object:  Table [dbo].[user_data]    Script Date: 10.09.2024 17:02:23 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[user_data](
	[ID] [int] IDENTITY(1,1) NOT NULL,
	[Username] [nvarchar](45) NOT NULL,
	[Password] [nvarchar](100) NULL,
	[PowerLevel] [int] NOT NULL,
	[Status] [int] NOT NULL,
	[BanReason] [nvarchar](500) NULL,
	[Name] [nvarchar](45) NULL,
	[Surname] [nvarchar](45) NULL,
	[Patronymic] [nvarchar](45) NULL,
PRIMARY KEY CLUSTERED 
(
	[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[user_data] ADD  DEFAULT ((0)) FOR [PowerLevel]
GO
ALTER TABLE [dbo].[user_data] ADD  DEFAULT ((0)) FOR [Status]
GO
ALTER DATABASE [delphi_app] SET  READ_WRITE 
GO