Toon posts:

[C++] Sql uitvoeren op een database

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben al de hele dag aan het googlen en aan het zoeken, ik kom echter niet uit mijn probleem!

Ik probeer een database te maken/wijzigen in C++. Eerst heb ik geprobeerd om Microsoft Access database (.mdb) te wijzigen, hier kwam ik echter niet aan uit, ik verdwaalde in een woud van Cdatabase en ODBC..
Daarna probeerde ik het via Sqlite. Wanneer ik echter het voorbeeldprogrammaatje uit http://www.sqlite.org/quickstart.html

C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream.h>
#include <D:\Slite\sqlite3.h>

 static int callback(void *NotUsed, int argc, char **argv, char **azColName){
  int i;
  for(i=0; i<argc; i++){
    printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
  }
  printf("\n");
  return 0;
}

int main(int argc, char **argv){
  sqlite3 *db;
  char *zErrMsg = 0;
  int rc;

  if( argc!=3 ){
    fprintf(stderr, "Usage: %s DATABASE SQL-STATEMENT\n", argv[0]);
    exit(1);
  }
  rc = sqlite3_open(argv[1], &db);
  if( rc ){
    fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
    sqlite3_close(db);
    exit(1);
  }
  rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg);
  if( rc!=SQLITE_OK ){
    fprintf(stderr, "SQL error: %s\n", zErrMsg);
  }
  sqlite3_close(db);
  return 0;
}


probeer te compilen, geeft Borland Studio 2006 de volgende foutmeldingen:

code:
1
2
3
4
5
6
[Linker Error] Error: Unresolved external '__InitVCL' referenced from C:\PROGRAM FILES\BORLAND\BDS\4.0\LIB\CP32MTI.LIB|crtlvcl
[Linker Error] Error: Unresolved external '__ExitVCL' referenced from C:\PROGRAM FILES\BORLAND\BDS\4.0\LIB\CP32MTI.LIB|crtlvcl
[Linker Error] Error: Unresolved external '_sqlite3_open' referenced from D:\MY DOCUMENTS\BORLAND STUDIO PROJECTS\PROJECTJE\UNIT1.OBJ
[Linker Error] Error: Unresolved external '_sqlite3_errmsg' referenced from D:\MY DOCUMENTS\BORLAND STUDIO PROJECTS\PROJECTJE\UNIT1.OBJ
[Linker Error] Error: Unresolved external '_sqlite3_exec' referenced from D:\MY DOCUMENTS\BORLAND STUDIO PROJECTS\PROJECTJE\UNIT1.OBJ
[Linker Error] Error: Unresolved external '_sqlite3_close' referenced from D:\MY DOCUMENTS\BORLAND STUDIO PROJECTS\PROJECTJE\UNIT1.OBJ


Ik heb vaak onder PHP met sql gewerkt, en wil dit nu onder c++ op eenzelfde manier doen. Toch vrees ik dat ik redelijk noobig :Z bezig ben, kan iemand mij misschien helpen?

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

C++:
1
#include <D:\Slite\sqlite3.h> 


zet dat eens tussen "quotes"

  • Thralas
  • Registratie: December 2002
  • Laatst online: 21:40
Vergeet ook niet te linken met de .lib.

Verwijderd

Topicstarter
Erkens schreef op donderdag 06 april 2006 @ 22:02:
C++:
1
#include <D:\Slite\sqlite3.h> 


zet dat eens tussen "quotes"
geeft helaas geen verandering...

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Die eerste twee meldingen zijn volgens mij te wijten aan het feit dat je de VCL niet include. En voor de anderen moet je volgens mij een SQLite C-, object- of libfile aan je project toevoegen.

[ Voor 4% gewijzigd door NMe op 06-04-2006 22:06 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
-NMe- schreef op donderdag 06 april 2006 @ 22:03:
Die eerste twee meldingen zijn volgens mij te wijten aan het feit dat je de VCL niet include. En voor de anderen moet je volgens mij een SQLite C-, object- of libfile aan je project toevoegen.
Idd, dit verhelpt de eerste foutmeldingen...stom van mij 8)7

Maar hoe link ik dan op een goede manier naar die sqlite-files?

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 14:02
Je moet een link library hebben voor SQLite. Ik zie dat op de SQLite website een DLL met een .DEF file aangeboden wordt; als het goed is kun je met je Borland tools daar een link library van maken óf direct tegen de DLL aanlinken (maar dat is niet gebruikelijk).

Hoe dat precies moet kun je het makkelijkst zelf in de documentatie opzoeken.

Verwijderd

Topicstarter
Ik heb het iig voor elkaar gekregen een lib van de def en dll te maken. Nu lukt het me echter op geen mogelijke manier om die lib te linken...Ben een beetje een noob op c++ gebied, hoe krijg ik dit gedaan in Borland developer?

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Niet gewoon middels "add files to project"?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
Als ik alleen de lib file toevoeg krijg ik nog steeds dezelfde errors

Als ik alleen de dll toevoeg krijg ik:
code:
1
[Linker Error] Error: Error processing module D:\MY DOCUMENTS\BORLAND STUDIO PROJECTS\PROJECTJE\SQLITE3.DLL

Wanneer ik de lib uit het project gooi blijft hij bovenstaande foutmelding geven.

[ Voor 1% gewijzigd door Verwijderd op 06-04-2006 23:34 . Reden: typo ]

Pagina: 1