Hi all:

  I need to make an IP database. They will be stored like "unsigned long"
variables, so, their size will be 4 bytes.

  The IP will be stored in the "domain" field.
  The "field type" of domain is NUMERIC.

  I save the data from a C program.
  This is part of the code: (Note that DomainTxt is a correct domain like
"www.google.com" or similar)
        ...
        struct hostent *hep;
        ...
        hep=gethostbyname(DomainTxt);
        ...
     strcpy(txtIP, inet_ntoa(*((struct in_addr *)hep->h_addr_list[i])));
     ip = inet_addr(txtIP);
     ip = ntohl(ip);
     strcpy(sql,"INSERT into domains (domain) VALUES ('");
     sprintf(nIP,"%u",ip);
     strcat(sql,nIP);
     strcat(sql, "')");
     rc = sqlite3_exec(db, sql, callback, 0, &zErrMsg);

  All goes fine: when i make a select sentence i can see that all the values
are correctly saved. But if i make this sentence:

     SELECT avg(length(domain)) from domains;

   The response is 10 and not 4.

   ¿Has had someone this problem before? ¿what i´m doing bad?


Thanks to all in advance.

Reply via email to