| 503 | } |
| 504 | |
| 505 | static void sqlite_rows_save(char** results, int nrow, |
| 506 | int ncolumn, db_rows& result) |
| 507 | { |
| 508 | int n = 0; |
| 509 | |
| 510 | // ȡ�������� |
| 511 | for (; n < ncolumn; n++) { |
| 512 | result.names_.push_back(results[n]); |
| 513 | } |
| 514 | |
| 515 | // ��ʼȡ�����������ݽ�������붯̬������ |
| 516 | for (int i = 0; i < nrow; i++) { |
| 517 | db_row* row = NEW db_row(result.names_); |
| 518 | for (int j = 0; j < ncolumn; j++) { |
| 519 | const char* value = results[n++]; |
| 520 | size_t len = value ? strlen(value) : 0; |
| 521 | row->push_back(value, len); |
| 522 | } |
| 523 | result.rows_.push_back(row); |
| 524 | } |
| 525 | result.result_tmp_ = results; |
| 526 | result.result_free = sqlite_rows_free; |
| 527 | } |
| 528 | |
| 529 | ////////////////////////////////////////////////////////////////////////// |
| 530 | |