Hi all, after writing my program, I typed:

bash-3.1# gcc -lsqlite3 CreaDB.c -o creadb
CreaDB.c: In function 'main':
CreaDB.c:35: error: too few arguments to function 'sqlite3_bind_text'
CreaDB.c:36: error: too few arguments to function 'sqlite3_bind_text'
CreaDB.c:37: error: too few arguments to function 'sqlite3_bind_text'

But I don't see the problem, my program is:

int main(int argc, char** argv[]) {

  int rc, i;
  sqlite3* db;
  sqlite3_stmt* stmt;
  char* sql;
  const char* tail;

  rc = sqlite3_open("prova.db", &db);
  if (rc) {
    fprintf(stderr, "E' impossibile aprire il file %s\n", sqlite3_errmsg(db));
    sqlite3_close(db);
    exit(1);
  }

  sql = "create table modulo(id);";

  rc = sqlite3_prepare(db, sql, strlen(sql), &stmt, &tail);
  if (rc != SQLITE_OK) {
    fprintf(stderr, "Errore SQL: %s\n", sqlite3_errmsg(db));
  }

  rc = sqlite3_step(stmt);
  sqlite3_reset(stmt);

  sql = "insert into modulo(id, nome, classe, istanza) values(?,?,?,?)";
  sqlite3_prepare(db, sql, strlen(sql), &stmt, &tail);

  sqlite3_bind_int(stmt, 1, 1);
  sqlite3_bind_text(stmt, 2, "nome1");
  sqlite3_bind_text(stmt, 3, "classe1");
  sqlite3_bind_text(stmt, 4, "istanza1");
  sqlite3_step(stmt);

  while (rc == SQLITE_ROW) {
    for (i = 0; i < sqlite3_column_count(stmt); i++)
      fprintf(stderr, "'%s' ", sqlite3_column_text(stmt, i));
    fprintf(stderr, "\n");
    rc = sqlite3_step(stmt);
  }

  sqlite3_finalize(stmt);
  sqlite3_close(db);

  return 0;

}

Thank you very much in advance for answers,
savio

       
---------------------------------
Inviato da Yahoo! Mail.
La casella di posta intelligente.
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to