Что нового

Работа с базой данных...

Vlasssov

Осваивающий
Сообщения
428
Репутация
25
Странно, что такая животрепещущая тема не нашла отражения. В помощи есть только примеры для работы, когда база данных в памяти, а вот когда есть реальная база, или ее надо создать на диске? Как быть?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
Vlasssov
если ты про библиотеку sqlite3.au3, то в нем есть возможность работать с локальной бд. поизучай мануал от sqlite
 
Автор
Vlasssov

Vlasssov

Осваивающий
Сообщения
428
Репутация
25
Началось... Давай-ка тогда без загадочных фраз про маны, это тебе не линуксоидный форум, :IL_AutoIt_1:
Есть пример в помощи AutoIT

Код:
#include <SQLite.au3>
#include <SQLite.dll.au3>

Local $hQuery, $aRow, $sMsg
_SQLite_Startup ()
ConsoleWrite("_SQLite_LibVersion=" &_SQLite_LibVersion() & @CRLF)
_SQLite_Open () ; open :memory: Database
_SQLite_Exec (-1, "CREATE TABLE aTest (a,b,c);") ; CREATE a Table
_SQLite_Exec (-1, "INSERT INTO aTest(a,b,c) VALUES ('c','2','World');") ; INSERT Data
_SQLite_Exec (-1, "INSERT INTO aTest(a,b,c) VALUES ('b','3',' ');") ; INSERT Data
_SQLite_Exec (-1, "INSERT INTO aTest(a,b,c) VALUES ('a','1','Hello');") ; INSERT Data
_SQlite_Query (-1, "SELECT c FROM aTest ORDER BY a;", $hQuery) ; the query
While _SQLite_FetchData ($hQuery, $aRow) = $SQLITE_OK
    $sMsg &= $aRow[0]
WEnd
_SQLite_Exec (-1, "DROP TABLE aTest;") ; Remove the table
MsgBox(0,"SQLite","Get Data using a Query : " &  $sMsg )
_SQLite_Close()
_SQLite_Shutdown()

Смотрим строку:
_SQLite_Open () ; open :memory: Database

open :memory: Database - база данных создается в памяти, как ее создать на диске? В помощи нет ничего. Есть параметр Database filename - как он должен выглядеть? Ссылка на пустую директорию (как это и делается в Sqllite?)

А если не работал с базами данных так и надо писать - хрен его знает, или вообще ничего не писать. Как тут:
http://autoit-script.ru/index.php?topic=1502.msg10738#msg10738
 

Redline

AutoIT Гуру
Сообщения
506
Репутация
369
SQLite умеет работать и с локальными файлами, если файла не существует - он его создаст:

Код:
#include <SQLite.au3>
#include <SQLite.dll.au3>
_SQLite_Startup ()
$DB = _SQLite_Open("SQLite.db")
_SQLite_Exec($DB, "CREATE TABLE TABLE1 (Text);")
_SQLite_Exec($DB, "INSERT INTO TABLE1 VALUES ('Some text');")
_SQLite_Close ()
_SQLite_Shutdown ()


Есть отдельные библиотеки для работы со стандартными базами данных. Во вложении MSSQL & MySQL.
 
Автор
Vlasssov

Vlasssov

Осваивающий
Сообщения
428
Репутация
25
Спасибо!!! По ходу и сам разобрался. В качестве аргумента надо указывать именно имя файла... Дальше, действительно, только ман по sqlite...
 
Верх