SQL със C

18 отговора 1026 прегледа
#1

SQL със C

Някой може ли да ми помогне с този проблем. Тука от две седмици че и повече се мъча да си вържа С-то със SQL и не става и не става или библиотеки ми липсват или аз не знам какво. Та може ли някои да ми подскаже нещо . Според мен наи трудно е да се конектна към сървара после вече ще е по лесно ама трябва ли да пра3вя няккyв SQL файл не трябва ли не ми е много ясно.

Отговор
в отговор на sularome #2

Re: Да беше казал за какъв сървър иде реч.

По пронцип цялата работа се състои в това д асглобиш SQL заявка като стринг в C-то, да я изпратиш към сървъра със съответното API и после да обработиш резултата.

salle.online.bg/sig
Отговор
в отговор на salle #3

А това е реализирано

много елегантно в MySQL.
Един dll, един хедър файл - и си в бизнеса :)))))

Bеer? Mоre?
Плацебото
Отговор
в отговор на bira_more #4

Re: А това е реализирано

може ли да си малко по конкретен какъв DLL и какъв hiden и кво трябжа да съдържат и как да са създадат.

Отговор
в отговор на sularome #5

Re: Ама кажи за какъв сървър питаш бе човек

:(

salle.online.bg/sig
Отговор
в отговор на salle #6

Re: Ама кажи за какъв сървър питаш бе човек

ми как за какъв аз не разбирам много ма аз съм с apache и с MySQL не разбирам какво точно ме питаш можеш ли да бъдеш по конкретен

Отговор
в отговор на sularome #7

Re: MySQL :)

За да се свържеш с някакъв SQL сървър трябва да знаеш какъв е.

Като иде реч за MySQL отиваш на [линк]
и четеш.

Най-общо ти трябва:
1) Да се свържеш със сървъра

mysql_real_connect(...)

2) Да изпратиш някаква заявка
mysql_query(...)

3) Да обработиш резултата от заявката ако има такъв с
mysql_store_result(...) или mysql_use_result(...) според случая

4) Да затвориш връзката с
mysql_close()

[линк]

salle.online.bg/sig
Отговор
в отговор на salle #8

Re: MySQL :)

тая страница съм я разглеждал хиляди пъти въпроса е че като зема примера от mysql_real_connect( ... да кажем пейстна го и компилирам и са оказва че иска някаква библиотека каква е тая библиотека от къде да я дръпна

Отговор
в отговор на sularome #9

Re: MySQL :)

В директорията на mysql'a имаш
libmySQL.lib
libmySQL.dll
както и header файлове.
Добави си директорията с либ'а към проекта, както и директорията с header'a. Ако това е за vc++, се прави по този начин, ако е за линукс трябва да сложиш -нещо от сорта на:
gcc -o name name.c -L/usr/include/mysql -L/usr/lib/mysql -lmysqlclient

The human knowledge belongs to world.
Отговор
в отговор на sularome #10

Re: MySQL :)

Научи се моля те да си задаваш въпросите така, че да става ясно какво питаш.

"Някаква библиотека"

salle.online.bg/sig
Отговор
в отговор на salle #11

Re: MySQL :)

ми добре като си пъхна гадната библиотека там и тя е бъгава дава ми грешка в файла Features.h не знам какво нв му харесва пък там
typedef struct {
int NumFeatures; /* Number of features. */
char **FeatureNames; /* Pointer to an array of feature names. */
char *FeatureValues[12]; /* Array of features values, one for each
semitone. 12 by NumFeatures. */
WindowNode *wn; /* Pointer to it's window structure. */
} Features;

ей тука ми дава missing ';' before '*' и о6те 8 грешки за същия ред
басси как може да е толкова трудно

Отговор
в отговор на sularome #12

Re: Това пък какво общо има???????

.... с въпросите ти досега ...

Откъде въобще го взе това Features.h и каква връзка има с Базите Данни?

С какво сме ти виновни ние тук в клуб Бази Данни за всичко това?

salle.online.bg/sig
Отговор
в отговор на salle #13

Re: Това пък какво общо има???????

sorry, просто оф,
ми като сложих тези неща там и пак ми даваше грешка от някоя от тези библиотеки та аз си помислих че просто има грешка и дали мога да си дръпна библиотеките от другаде но, както и да е мерси за вниманието

'In this life we cannot do great things. We can only do small things with great love'
Отговор
в отговор на sularome #14

SQL със C

просто тука всички обясняват така сякаш се занмиавам с това откакто съм роден а ан мен ми е малко по трудно да разбера може би защото сега почвам да се занимаевам но както и да е ше са оправям и сам аиде и със здраве

'In this life we cannot do great things. We can only do small things with great love'
Отговор
в отговор на sularome #15

Слушай сега

Мога да ти пратя цял готов пример, с библиотеки, сорсове и всички останали глупости дето могат да ти трябват.
С пояснения кое как да си донаправиш.
Има няколко момента:
1. Аз ползвам MySQL 3.47 ....
2. CBuilder
Демек примерите ми ще сработят на 100% ако ползваш MySQL версия 3 и нещо си и ако ползваш за компилатор CBuilder 5.0 и бачкаш под виндовс де.
Та ако искаш нещо от сорта - най-малкото да видиш как съм го направил аз - пиши.
И нямаш проблем да ползваш всичко както е според условията на MySQL.
Демек не те натоварвам по никакъв начин с нищо за това че ти давам сорсове.

Bеer? Mоre?
Плацебото
Отговор
в отговор на sularome #16

Re: Е ако никога не си писал на C

.. трябваше с това да започнеш.

И не не е лесно ей-така изведнъж.

А ти очакваш да ти кажем защо ето това се компилира грешки:

int main()
{
printf("Hello world\n");
}

salle.online.bg/sig
Отговор
в отговор на bira_more #17

bira much more

ако можеш да ми изпратиш тези неща на [email protected] или да ми дадеш линк да го изтегля ще ти бъда много благодарен просто мисля че трябва да разгелдам някакъв готов сорс за да го разбера,

мерси предваритлно

'In this life we cannot do great things. We can only do small things with great love'
Отговор
в отговор на salle #18

Re: Е ако никога не си писал на C

не че не съм писла на С никога не съм ползвал бази данни или поне не съм ги врързвал с някакъв език иначе със С-то се оправям както мога мерси иначе за обяснението за main-a беше много мило че ме въведе

'In this life we cannot do great things. We can only do small things with great love'
Отговор
в отговор на sularome #19

Re: Определено ти трябва обща култура

Виж няма нищо лошо в това да не знаеш нещо. Нито пък някой знае всичко.

Обаче всеки знае различни неща на различно ниво. И никой не знае какво ти знаеш или не. Нито пък някой може д ати чете мислите за да разбере какво точно питаш. Твоя е задачата да си зададеш въпроса така, че да улесниш тези които биха ти помогнали.

Още повече, че на никого не му плащат за да ти отговаря тук в този форум. Най-малкото пък ти плащаш на някого нали? Тъй, че е въпрос на уважение да спестиш времето на останалите. Д ане ги караш да се опитват да си представят какво всъщност имаш предвид а да го обясниш. Кратко и ясно. Ако трябва надълго и нашироко, но ясно.

Утре ще напишеш нещо и ще го продадеш на някого, а той ще ти се обади да ти се оплаче и ще поведеш разговор като този:
- Не върви!
- Как така не върви?
- Ми не ще твоя шибан продукт и това си е!
- Ама кое не ще? Какво се опитваш да направиш?
- Ами пробвах всичко и не става и това си е! Дава ми грешка в X (X е нещо което няма мищо общо с твоя продукт и ти никога не си го чувал) Как може да е толкова трудно?
....

Докато всичко би било много по-просто ако ти кажат:
- Като напиша 10 и после натисна еди-какво-си и ми излиза 36 а трябва да е 20.

Достатъчно да се плеснеш по челото и да му обясниш къде бърка нали?


За връзката между C API и SQL база данни:

1) Това е от категорията Клиент - Сървър приложения, а теб те интересува как се пише клиентската част.
2) Общият принцип е, че:
- осъществяваш връзка със сървъра, обикновено с име и парола
- изпращаш SQL заявка, която от гедна точка на твоята програма е прост стринг.
- проверяваш какъврезултат ти връща сървъра и евентуално го обработваш

3) За всеки сървър API-то е различно!
По един начин се работи с MySQL, друг с PostgreSQL, трети с Oracle, четвърти с Interbase и т.н. и т.н.


За MySQL ти трабвя да свържеш програмата си с libmysql
В зависимост от операционната ти система и компилатора+линкера това се прави по различен начин както вече ти обясни Matrix_N
В текста на програмата ти ти трябва
#include <mysql.h> и съответните опции за компилатора за да намери библиотеката.

Оттам нагатък ти трябват mysql_xxxxxx функциите и .... разбира се да поназнайваш SQL

Пробвай да си намериш някое ръководство или примери. На български съ сигурност можеш да намериш такова в книгата на Пол Дюбоа. Иначе по интернет има тонове.
Google за около 2 секунди ми изплю например ето това

[линк]

И не се прави на обиден(а) ако искаш да научиш нещо

salle.online.bg/sig
Отговор