|
Программирование >> Создание клиентов mysql
** Вставляемые данные. */ const char *names [ ] = { Leon , Vicky , Carl , Ricky , Nicki , Jeff , Bo , Tina , Joey uint num rows = sizeof(names)/sizeof(char *); const char *querY create = CREATE TABLE testapi (\ ID INT(11) NOT NULL AUTO INCREMENT, \ Name VARCHAR(64), \ PRIMARY KEY(ID)) ; const char *query insert = INSERT INTO testapi (Name) VALUES ( %s) ; const char *querY delete = DELETE FROM testapi WHERE ID < 4 ; const char *query update = UPDATE testapi SET Name = None WHERE 10=5 ; const char *query drop = DROP TABLE testapi ; ** Инициализация соединения. V if(!mysql init(Smysql)) { fprintf(stderr, Unable to initialize MYSQL struct!\n ); exit 0 ; ** Подключение к базе данных. */ if(!mysql real connect(Smysql, localhost , NULL, NULL, test , 0, NULL, 0)) fprintf(stderr, %d: %s\n , mysql errno(smysql), mysql error(smysql)); exit 0 ; if(mysql query(Smysql, query create)) Запрос завершился неудачей! * * Запросы. ** Создание таблиц!. Изменение данных 39J> fprintf(stderr, Could not create table!\n%d: %s\n , mysql errno(Smysql), mysql error(Smysql)); mysql close(Smysql); exitO; ** Вставка записей. */ for(i=0; i<num rows; { sprintf(query, querY insert, names[i]); if (mysql query(smysql, query)) ** Запрос завершился неудачей! */ fprintf(stderr, Could not insert row!\n%5\n%d: %s\n , query, mysql errno(Smysql), mysql error(Smysql) mysql close(Smysql); exit 0 ; printf ( %d row insertXn , my5ql affected rows (Smysql) ) ; if (mysql query(Smysql, query delete)) { ** Запрос завершился неудачей! */ fprintf(stderr, Could not delete rows!\n%d: %s\n , mysql ermo (Smysql) , mysql error (Smysql) ) ; mysql close(smysql); exit(); printf( %d rows deleted\n , mysql affeeted rows(smysql)); Обновление записей. if (mysql query(Smysql, query update)) { fprintf(stderr, Could not update rows!\n%d: %s\n , mysql errno(smysql) , mysql error(Smysql)); mysql close(smysql); exit(); ** Удаление записей. Запрос завершился printf( %d rows updatedXn , mysql affected rows(smysql)); /* * * Удаление таблицы. */ if(mysql query(smysql, query drop)) { ** Запрос завершился неудачей! */ fprintf(stderr, Could not drop table!\n%d: %s\n , mysql errno(smysql), mysql error(smysql))/ mysql close(smysql); exit(); * * Закрытие соединения. */ mysql close(smysql); Программа, представленная в листинга .3, создает таблицу и добавляет в нее записи. Далее происходит удаление части записей, обновление записи и, наконец, удаление всей таблицы. Обратите внимание на способ вставки записей. В циклог благодаря функции ntf() происходит повторное использование одной и той же инструкции INSERT, в которую подставляются разные параметры. Эта простая методика не так эффективна, как подготовка одной инструкции INSERT, вставляющей группу записей. Но представьте себе программу, принимающую произвольные поль-, зовательские запросы на добавление, обновление и удаление записей. Тогда такая методика окажется весьма удобной.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |