title: sqlite3_exec return no output
body: <p>My sqlite functions looks like this.</p>
  
  <pre><code>static int callback(void *not_used, int row_num, char **row, char **col_name)
  {
      for(int i = 0; i &lt; row_num; ++i)
      {
          printf("%s = %s\n", col_name[i], row[i] ? row[i] : "NULL");
      }
      return 0;
  }
  
  int query(const char *statement)
  {
      result = sqlite3_exec(database, statement, callback, 0, &amp;message);
      if(result != SQLITE_OK)
      {
          print_error(sqlite3_errmsg(database));
      }
      return result;
  }
  </code></pre>
  
  <p>but my query don't display any values.
  Sql query have case sensitivity error</p>
  
  <pre><code>"select * from app_list where name='evince'" // it should be Evince
  </code></pre>
  
  <p>How can I change my code to return an empty set if someone
  made such a mistake (which part should i modify callback or query)</p>
  
  <p>I tryied to change callback</p>
  
  <pre><code>if(row_num &gt;0)
  {
      for() ...
  }
  else
  {
      printf("Empty set\n");
  }
  </code></pre>
  
  <p>but else is never executed.</p>
  
  <p>sqlite3_exec() return SQLITE_OK even if i made case sensitivity error.</p>