On Friday, 21 October 2016 at 10:50:30 UTC, Vadim Lopatin wrote:
On Wednesday, 19 October 2016 at 16:01:37 UTC, Alfred Newman
wrote:
Hello,
I am trying to handle a SQLite3 table with D. During my
researchs, I discovered the lib
https://dlang.org/phobos/etc_c_sqlite3.html.
However, for any reason, there is no code snippets or sample
codes available there. So, I am stucked.
I have the following sample structure table:
sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " \
"VALUES (1, 'Paul', 32, 'California', 20000.00 ); " \
"INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " \
"VALUES (2, 'Allen', 25, 'Texas', 15000.00 ); " \
"INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)" \
"VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );" \
"INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)" \
"VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );";
Can you pls provide a code snippet or some hints to the
following job:
- Create a table with the layout above
- Iterate through the records given a basic SELECT WHERE Query
Thanks in advance, AN
Snippet how to do it using DDBC library
https://github.com/buggins/ddbc
import ddbc;
string url = "sqlite:testdb.sqlite";
// creating Connection
auto conn = createConnection(url);
scope(exit) conn.close();
// creating Statement
auto stmt = conn.createStatement();
scope(exit) stmt.close();
// execute simple queries to create and fill table
stmt.executeUpdate("CREATE TABLE COMPANY (ID int, NAME
varchar, AGE int,ADDRESS varchar, SALARY double)");
string[] statements = [
"INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (1, 'Paul', 32, 'California', 20000.00 )",
"INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (2, 'Allen', 25, 'Texas', 15000.00 )",
"INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (3, 'Teddy', 23, 'Norway', 20000.00 )"
];
foreach(sql; statements)
stmt.executeUpdate(sql);
Hello Vadim,
I used dub to register DDBC. After that, I tried to do some
tests, but I received the following error:
Fetching ddbc ~master...
Placing ddbc ~master to
C:\Users\Alfred\AppData\Roaming\dub\packages\...
Performing "release" build using dmd for x86.
ddbc ~master: building configuration "full"...
Copying files for ddbc...
compiling C:\...\Projects\stingray.d
OPTLINK (R) for Win32 Release 8.00.17
Copyright (C) Digital Mars 1989-2013 All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
sqlite3.lib
Warning 2: File Not Found sqlite3.lib
C:\Users\Alfred\AppData\Roaming\dub\packages\ddbc-master\ddbc\lib\ddbc.lib(mysqlddbc)
Error 42: Symbol Undefined _D5mysql10connection12__ModuleInfoZ
C:\Users\Alfred\AppData\Roaming\dub\packages\ddbc-master\ddbc\lib\ddbc.lib(pgsqlddbc)
Error 42: Symbol Undefined _D8derelict2pq2pq12__ModuleInfoZ
C:\Users\Alfred\AppData\Roaming\dub\packages\ddbc-master\ddbc\lib\ddbc.lib(sqliteddbc)
Error 42: Symbol Undefined _sqlite3_data_count
...
_D5mysql8protocol8commands7Command11__xopEqualsFKxS5mysql8protocol8commands7CommandKxS5mysql8protocol8commands7CommandZb
--- errorlevel 67
error: the process (dmd) has returned the signal 67
C:\...\Projects\stingray.d has not been compiled
Notice that sqlite3.lib is located at my folder
C:\Users\Alfred\AppData\Roaming\dub\packages\ddbc-master\ddbc\libs\win64
What am I doing wrong ?
Cheers