2011-01-04 4 views
0

Я новичок в SQLite3 с прошивкойSQLite3 с несколькими ГДЕ

Я пытаюсь создать SQL-запрос, который будет выполняться следующее заявление

SELECT student_name 
FROM class_roster 
WHERE 
    student_id='1' 
    AND student_first_name='Jon' 
ORDER BY student_first_name; 

В моем коде IOS, я получаю данные из текстовых полей.

Любая помощь будет оценена по достоинству. (Мне просто нужно знать, как создать string или char*)

Я видел это в книге, но не знаете, как использовать его

char *cQuery = "SELECT DISTINCT country 
    FROM countryTable 
    WHERE nationName LIKE ? 
    ORDER BY nationName"; 
if (sqlite3_prepare_v2(database,cQuery, -1, &statement, NULL) != SQLITE_OK) { 
    NSLog(@"query error: %s", statement); 
} 

Как поместить больше чем 1 значение? Как приложение знает, что делает ??

Thanks

+0

Ваш образец запроса кажется немного странным; упорядочивая поле, когда вы выполняете ограничение равенства в поле? Вы знаете, что это просто строки в случайном порядке. –

ответ

1

Опубликованный код подготавливает заявление. У вас есть немного дополнительной работы, например. привязывая значения к wilcards "?". Это описано здесь: http://www.sqlite.org/c3ref/bind_blob.html

if (sqlite3_bind_double( 
     statement, 
     1, // Index of wildcard 
     4.2 // Value 
    ) != SQLITE_OK) { 
    // Error handling... 
} 

Выполнить инструкцию и делать что-н. с результатом. http://www.sqlite.org/c3ref/stmt.html

Смежные вопросы