Proszę mi powiedzieć, czy w programie LCD można modyfikować
bazę losowań za pomocą Zapytań SQL , ale tak, aby ta nowa baza widoczna była
dla poszczególnych opcji w programie.
Na przykład: żeby widoczne było, co drugie losowanie.
I jeśli, jest to możliwe to jak to zrobić ?
To trochę pracy ale można to zrobić. Jako przykład podam jak zrobić dwie gry (satelickie) do gry LittleLotto (dla Mini Lotto robimy to analogicznie).
Najpierw utworzymy dwie nowe gry. LittleLottoEven (dla losowań parzystych) i LittleLottoOdd (dla losowań nie parzystych.
długi i skomplikowany proces tworzenia gier usprawnimy stosując zapytania SQL. LottoCAD obsługuje SQL w (standardzie)dialekcie języka SQL-92.
a teraz krok po kroku :
1. Otwieramy LottoCAD i z menu Pliki wybieramy Game Manager.
2. Wybieramy zakładkę SQL
3. Wklejamy skrypt który sklonuje nam grę LittleLotto do gry LittleLottoEven. Jeżeli tworzymy inną grę to najpierw sprawdźmy w tabeli gier potrzebne nam dane a mianowicie unikalny numer nowej gry, nazwę nowej gry, nazwę nowej tabeli losowań dla nowej gry i ID gry matki :
- Code: [Select all] [Expand/Collapse] [Download] (Untitled)
- INSERT INTO Games FIELDS ( /* Utworzymy bazę LittleLottoEven o ID=147 i Nazwie tabeli losowań LittleLottoEven*/
- "ID", /* Tabela zostanie utworzona jako kopia gry właściwej o nazwie LITTLE_LOTTO, pola jak wyżej*/
- "Nbrs_All", /* trzeba wpisać w odpowiednie pola w podzapytaniu SELECT przy których są komentarze.*/
- "Nbrs_Drawn",
- "TicketPickMin",
- "TicketPickMax",
- "TicketPlaysMin",
- "TicketPlaysMax",
- "Game_Name",
- "Country",
- "State_city",
- "Adress",
- "Ticket_Rows",
- "Ticket_Cols",
- "Stake_Game",
- "Stake_min",
- "Stake_max",
- "Charge_of_bet",
- "FirstDateLos",
- "FirstIDLos",
- "DatabaseName",
- "Sun",
- "Mon",
- "Tue",
- "Wed",
- "Thu",
- "Fri",
- "Sat",
- "FileNamePrefix",
- "FileNameExt",
- "MoneySymbol",
- "BonusGame",
- "LargeIcon",
- "PrintModul",
- "PrintModulName",
- "UpdateModul",
- "UpdateModulName",
- "Range2Game",
- "Range2Nbrs",
- "Range2Drawn",
- "GameUrl",
- "UpdateURL",
- "AlternateURL",
- "UseAlternateURL",
- "BonusDraw",
- "JsonPrint"
- ) SELECT
- 147, /* zamiast 148 wpisz unikalny numer nowej gry */
- "Nbrs_All",
- "Nbrs_Drawn",
- "TicketPickMin",
- "TicketPickMax",
- "TicketPlaysMin",
- "TicketPlaysMax",
- 'LittleLottoEven', /* zamiast NewLittleLotto wpisz unikalną nazwę nowej gry */
- "Country", /* uwaga : nazwy wpisujemy ograniczone pojedynczym cudzysłowem 'nazwa', */
- "State_city",
- "Adress",
- "Ticket_Rows",
- "Ticket_Cols",
- "Stake_Game",
- "Stake_min",
- "Stake_max",
- "Charge_of_bet",
- "FirstDateLos",
- "FirstIDLos",
- 'LittleLottoEven', /* zamiast NewLittleLotto wpisz unikalną nazwę bazy losowań nowej gry */
- "Sun", /* uwaga : nazwy wpisujemy ograniczone pojedynczym cudzysłowem 'nazwa', */
- "Mon",
- "Tue",
- "Wed",
- "Thu",
- "Fri",
- "Sat",
- "FileNamePrefix",
- "FileNameExt",
- "MoneySymbol",
- "BonusGame",
- "LargeIcon",
- "PrintModul",
- "PrintModulName",
- "UpdateModul",
- "UpdateModulName",
- "Range2Game",
- "Range2Nbrs",
- "Range2Drawn",
- "GameUrl",
- "UpdateURL",
- "AlternateURL",
- "UseAlternateURL",
- "BonusDraw",
- "JsonPrint" FROM Games
- WHERE ID=143;
- GeSHi © Codebox Plus
4. Wciskamy przycisk "Execute".
teraz w zakładce "Baza Gier" sprawdź cz gra się utworzyła. (Przesuń bocznym barem aby odświeżyć tabelę).
Grę w zestawie już mamy teraz utworzymy tabelę losowań :
- Code: [Select all] [Expand/Collapse] [Download] (Untitled)
- CREATE TABLE IF NOT EXISTS "LittleLottoEven" /* tu wpisujemy nazwę tabeli gry jak powyżej*/
- (
- "_RecordID" AUTOINC NOT NULL,
- "ID" SMALLINT NOT NULL,
- "DATE" TIMESTAMP NOT NULL,
- "L1" SMALLINT,
- "L2" SMALLINT,
- "L3" SMALLINT,
- "L4" SMALLINT,
- "L5" SMALLINT,
- PRIMARY KEY ("ID") COMPRESS NONE
- DESCRIPTION 'Baza parzystych będzie kopią losowań parzystych gry LittleLotto)'
- );
- GeSHi © Codebox Plus
Pamiętamy aby nazwa tabeli danych ta zakreślona na żółto, odpowiadała nazwie tabeli losowań wpisanej w poprzednim zapytaniu.
Teraz zaimportujemy losowania do tabeli, ( użytkownik chciał aby były to co drugie losowania). Stąd warunek dzielenia MODulo 2, jeżeli importujesz wszystkie losowania to na końcu zapytania wstawiamy zamiast WHERE MOD("_RecordID",2)=0; wstawiamy WHERE 1 lub WHERE _RecordID>=0 :
- Code: [Select all] [Expand/Collapse] [Download] (Untitled)
- INSERT INTO LittleLottoEven FIELDS ( /* Importujemy tylko losowania parzyste */
"ID",
"DATE",
"L1",
"L2",
"L3",
"L4",
"L5"
) SELECT
"ID",
"DATE",
"L1",
"L2",
"L3",
"L4",
"L5" FROM LITTLE_LOTTO
WHERE MOD("_RecordID",2)=0; /* tylko parzyste */ - GeSHi © Codebox Plus
I po wszystkim , teraz w zakładce "Wybór gry do programu" przyciskiem [ > ] przesuwamy wskaźnk na koniec. Wciskamy polecenie dodania gry do zestawu gier , klawisz [ + ] i z rozwijanego pola pod klawiszami nawigacji górnej wybieramy naszą nową grę. Zatwierdzamy wybór zestawu i zmiany klawiszem [ V ] i gotowe, wciskamy [ OK ] i po wybraniu w paneku nowej gry jeżeli indeksy się nie zgadzają to system przeindeksuje (uporządkuje) wszystkie losowania.
I gotowe.
Na koniec zamieszczam w załączniku, wszystkie sktypty dla gry parzystch i nieparzystych utworzonych z tej samej matki. Zaptania można traktować jako szablon do innych gier z tym że jeżeli ilość liczb losowanych będzie inna niż 5 to musimy dopisać pola L6, L7 itd ...
pozdrawiam
Wojtek
- Code: [Select all] [Expand/Collapse] [Download] (Untitled)
- INSERT INTO Games FIELDS ( /* Utworzymy bazę LittleLottoEven o ID=147 i Nazwie tabeli losowań LittleLottoEven*/
- "ID", /* Tabela zostanie utworzona jako kopia gry właściwej o nazwie LITTLE_LOTTO, pola jak wyżej*/
- "Nbrs_All", /* trzeba wpisać w odpowiednie pola w podzapytaniu SELECT przy których są komentarze.*/
- "Nbrs_Drawn",
- "TicketPickMin",
- "TicketPickMax",
- "TicketPlaysMin",
- "TicketPlaysMax",
- "Game_Name",
- "Country",
- "State_city",
- "Adress",
- "Ticket_Rows",
- "Ticket_Cols",
- "Stake_Game",
- "Stake_min",
- "Stake_max",
- "Charge_of_bet",
- "FirstDateLos",
- "FirstIDLos",
- "DatabaseName",
- "Sun",
- "Mon",
- "Tue",
- "Wed",
- "Thu",
- "Fri",
- "Sat",
- "FileNamePrefix",
- "FileNameExt",
- "MoneySymbol",
- "BonusGame",
- "LargeIcon",
- "PrintModul",
- "PrintModulName",
- "UpdateModul",
- "UpdateModulName",
- "Range2Game",
- "Range2Nbrs",
- "Range2Drawn",
- "GameUrl",
- "UpdateURL",
- "AlternateURL",
- "UseAlternateURL",
- "BonusDraw",
- "JsonPrint"
- ) SELECT
- 147, /* zamiast 148 wpisz unikalny numer nowej gry */
- "Nbrs_All",
- "Nbrs_Drawn",
- "TicketPickMin",
- "TicketPickMax",
- "TicketPlaysMin",
- "TicketPlaysMax",
- 'LittleLottoEven', /* zamiast NewLittleLotto wpisz unikalną nazwę nowej gry */
- "Country", /* uwaga : nazwy wpisujemy ograniczone pojedynczym cudzysłowem 'nazwa', */
- "State_city",
- "Adress",
- "Ticket_Rows",
- "Ticket_Cols",
- "Stake_Game",
- "Stake_min",
- "Stake_max",
- "Charge_of_bet",
- "FirstDateLos",
- "FirstIDLos",
- 'LittleLottoEven', /* zamiast NewLittleLotto wpisz unikalną nazwę bazy losowań nowej gry */
- "Sun", /* uwaga : nazwy wpisujemy ograniczone pojedynczym cudzysłowem 'nazwa', */
- "Mon",
- "Tue",
- "Wed",
- "Thu",
- "Fri",
- "Sat",
- "FileNamePrefix",
- "FileNameExt",
- "MoneySymbol",
- "BonusGame",
- "LargeIcon",
- "PrintModul",
- "PrintModulName",
- "UpdateModul",
- "UpdateModulName",
- "Range2Game",
- "Range2Nbrs",
- "Range2Drawn",
- "GameUrl",
- "UpdateURL",
- "AlternateURL",
- "UseAlternateURL",
- "BonusDraw",
- "JsonPrint" FROM Games
- WHERE ID=143;
- INSERT INTO Games FIELDS ( /* Utworzymy bazę LittleLottoOdd o ID=147 i Nazwie tabeli losowań LittleLottoOdd*/
- "ID", /* Tabela zostanie utworzona jako kopia gry właściwej o nazwie LITTLE_LOTTO, pola jak wyżej*/
- "Nbrs_All", /* trzeba wpisać w odpowiednie pola w podzapytaniu SELECT przy których są komentarze.*/
- "Nbrs_Drawn",
- "TicketPickMin",
- "TicketPickMax",
- "TicketPlaysMin",
- "TicketPlaysMax",
- "Game_Name",
- "Country",
- "State_city",
- "Adress",
- "Ticket_Rows",
- "Ticket_Cols",
- "Stake_Game",
- "Stake_min",
- "Stake_max",
- "Charge_of_bet",
- "FirstDateLos",
- "FirstIDLos",
- "DatabaseName",
- "Sun",
- "Mon",
- "Tue",
- "Wed",
- "Thu",
- "Fri",
- "Sat",
- "FileNamePrefix",
- "FileNameExt",
- "MoneySymbol",
- "BonusGame",
- "LargeIcon",
- "PrintModul",
- "PrintModulName",
- "UpdateModul",
- "UpdateModulName",
- "Range2Game",
- "Range2Nbrs",
- "Range2Drawn",
- "GameUrl",
- "UpdateURL",
- "AlternateURL",
- "UseAlternateURL",
- "BonusDraw",
- "JsonPrint"
- ) SELECT
- 147, /* zamiast 148 wpisz unikalny numer nowej gry */
- "Nbrs_All",
- "Nbrs_Drawn",
- "TicketPickMin",
- "TicketPickMax",
- "TicketPlaysMin",
- "TicketPlaysMax",
- 'LittleLottoEven', /* zamiast NewLittleLotto wpisz unikalną nazwę nowej gry */
- "Country", /* uwaga : nazwy wpisujemy ograniczone pojedynczym cudzysłowem 'nazwa', */
- "State_city",
- "Adress",
- "Ticket_Rows",
- "Ticket_Cols",
- "Stake_Game",
- "Stake_min",
- "Stake_max",
- "Charge_of_bet",
- "FirstDateLos",
- "FirstIDLos",
- 'LittleLottoEven', /* zamiast NewLittleLotto wpisz unikalną nazwę bazy losowań nowej gry */
- "Sun", /* uwaga : nazwy wpisujemy ograniczone pojedynczym cudzysłowem 'nazwa', */
- "Mon",
- "Tue",
- "Wed",
- "Thu",
- "Fri",
- "Sat",
- "FileNamePrefix",
- "FileNameExt",
- "MoneySymbol",
- "BonusGame",
- "LargeIcon",
- "PrintModul",
- "PrintModulName",
- "UpdateModul",
- "UpdateModulName",
- "Range2Game",
- "Range2Nbrs",
- "Range2Drawn",
- "GameUrl",
- "UpdateURL",
- "AlternateURL",
- "UseAlternateURL",
- "BonusDraw",
- "JsonPrint" FROM Games
- WHERE ID=143;
- /* Teraz tworzymy tabele losowań dla utworzonych wyżej gier */
- CREATE TABLE IF NOT EXISTS "LittleLottoEven" /* tu wpisujemy nazwę tabeli gry jak powyżej*/
- (
- "_RecordID" AUTOINC NOT NULL,
- "ID" SMALLINT NOT NULL,
- "DATE" TIMESTAMP NOT NULL,
- "L1" SMALLINT,
- "L2" SMALLINT,
- "L3" SMALLINT,
- "L4" SMALLINT,
- "L5" SMALLINT,
- PRIMARY KEY ("ID") COMPRESS NONE
- DESCRIPTION 'Baza parzystych będzie kopią losowań parzystych gry LittleLotto)'
- );
- CREATE TABLE IF NOT EXISTS "LittleLottoOdd" /* tu wpisujemy nazwę tabeli gry jak powyżej*/
- (
- "_RecordID" AUTOINC NOT NULL,
- "ID" SMALLINT NOT NULL,
- "DATE" TIMESTAMP NOT NULL,
- "L1" SMALLINT,
- "L2" SMALLINT,
- "L3" SMALLINT,
- "L4" SMALLINT,
- "L5" SMALLINT,
- PRIMARY KEY ("ID") COMPRESS NONE
- DESCRIPTION 'Baza nie-parzystych będzie kopią losowań nie_parzystych gry LittleLotto)'
- );
- DELETE LittleLottoEven WHERE 1; /* usuwamy dane z tabeli LittleLottoEven */
- INSERT INTO LittleLottoEven FIELDS ( /* Importujemy tylko losowania parzyste */
- "ID",
- "DATE",
- "L1",
- "L2",
- "L3",
- "L4",
- "L5"
- ) SELECT
- "ID",
- "DATE",
- "L1",
- "L2",
- "L3",
- "L4",
- "L5" FROM LITTLE_LOTTO
- WHERE MOD("_RecordID",2)=0; /* tylko parzyste */
- DELETE LittleLottoOdd WHERE 1; /* usuwamy dane z tabeli LittleLottoOdd */
- INSERT INTO LittleLottoOdd FIELDS ( /* Importujemy tylko losowania parzyste */
- "ID",
- "DATE",
- "L1",
- "L2",
- "L3",
- "L4",
- "L5"
- ) SELECT
- "ID",
- "DATE",
- "L1",
- "L2",
- "L3",
- "L4",
- "L5" FROM LITTLE_LOTTO
- WHERE MOD("_RecordID",2)=1; /* tylko parzyste */
- GeSHi © Codebox Plus