[c++] sqlite - tworzenie baz dancych

0

Witam, czy za pomocą biblioteki sqlite można stworzyć bazę danych w SQL.
Wiem, że można ją odczytywać.

0

Można. Wystarczy stworzyć odpowiednie zapytania i je wywołać za pomocą funkcji bibliotecznych - dokładniej z poziomu kodu aplikacji możesz tworzyć bazę danych.

Możesz również użyć konsoli sqlite i tam wklepać wszystkie polecenia, lub przygotować sobie skrypt DDL.

Ale można tez użyć graficznego interfejsu do obsługi SQLite - poszukaj programu SQLiteAdmin - trochę toporny w działaniu, ale pozwala w miarę łatwy, aczkolwiek czasem irytujący sposób na zarządzanie strukturą bazy.

Tutaj http://souptonuts.sourceforge.net/readme_sqlite_tutorial.html i tutaj http://www.webdotdev.com/nvd/content/view/347/ znajdziesz wskazówki.

0

A może wiesz jaka funkcja służy do zapytań?

0

Z tego co pamiętam, to w C++ była to funkcja prepare, ale nie jestem pewien ( SQLite używałem główne z PHP ). Tutaj http://www.sqlite.org/cintro.html powinieneś znaleźć jakieś wskazówki.

0

Herk,dzięki wielkie za zainteresowanie tematem
sqlite3_step()
sqlite3_exec()
a ta funkcje do czego służą?

0

Nie jestem pewien, dlatego lepiej przeszukaj dokumentację.

Funkcja step służy z tego co pamiętam, do wykonania kroków wcześniej przygotowanego zapytania za pomocą funkcji bind.

Funkcja exec wykonuje zapytanie na bazie danych.

Zerknij sobie jak wygląda przykładowy kod, na tej stornie :

http://rpetryniak.blogspot.com/2009/07/skadowanie-obrazow-w-bazie-danych.html

0

Dzięki wszystko się zgadza. A funkcja sqlite3_column() do czego jest?
A do czego służy: sqlite3_bind ()

0

Na stronie którą Ci podałem, jest pokazane jak działa i do czego służy funkcja bind :

Jak widzisz, w zapytaniu

char insert_str[] = "insert into photos(photo,filename,dimx,dimy,dimz,dimv) values (?,?,?,?,?,?)";

,wartości które chcesz zapisać w bazie, opisane są znakami ?

Funkcja bind jest później wywoływana tyle razy, ile wartości do bazy chcesz przesłać.

  //Wstawienie danych do tabeli
  sqlite3_bind_blob(insert_stmt, 1, image.ptr(), image.size()  * sizeof(unsigned char), SQLITE_STATIC);
  sqlite3_bind_text(insert_stmt, 2, file_i,      strlen(file_i)* sizeof(unsigned char), SQLITE_STATIC);
  sqlite3_bind_int (insert_stmt, 3, image.dimx());
  sqlite3_bind_int (insert_stmt, 4, image.dimy());
  sqlite3_bind_int (insert_stmt, 5, image.dimz());
  sqlite3_bind_int (insert_stmt, 6, image.dimv());

Natomiast funkcja column pokazuje informacje o danej kolumnie.

0

OK,Herk, dzięki wielkie za pomoc

1 użytkowników online, w tym zalogowanych: 0, gości: 1