Что нового

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

vcomp71

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

kaster

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

vcomp71

Осваивающий
Сообщения
431
Репутация
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
Репутация
375
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.
 
Автор
vcomp71

vcomp71

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