سلام
برای اتصال به Mysql از طریق C یا ++C ؛ و نحوه اجرا query و ... یه راهنمایی میخواستم ,,
فکر کنم باید Mysql.h رو هم داشته باشیم که من نتونستم فایلشو پیدا کنم ،
(
استاد کجایی که جواب بدی ! )
از دیروز دارم تلاش می کنم ، نتونستم پیوندشون بدم
راجع به mysql.h هم درستش اینه که چون mysql یه دیتابیس اوپن سورس ، راحت بری سایتش و آخرین ورژن رو دانلود کنی ... اما ... چون شرکت Sun Micro Systems حامیش شده ، آی پی های ایرانی رو فیلتر فرموده و نمی تونی دانلود کنی ... من فایل های هدر مربوط به ورژن 5.0.33 رو دارم ، برات میزارم :
سلام
ممنون
-----------------
یه نمونه کد هم میشه بزارین ؟
سلام
اقا amirjan ؛ فکر کنم فایلها مشکل داشته باشند ! نمیدونم مشکل از کجاست ، یه ارور هایی در رابطه با socket میده ،
من فقط این خط رو واسه امتحان نوشتم
واسه همین یک خط تو کامپایلش ارور میده !!نمیدونید مشکل از کجاست ؟؟ اگه میشه شما هم یه امتحانی بکنین
منم دقیقا مشکلم همین بود .. هر کار هم کردم راه نیفتاد ...
فایلهای هدر ورژن 4.1.20 رو هم دارم ، میخوای اینم تست کن :
سلام
مشکل اینه که یه چنتا فایل lib. (مثل libmysql.lib) و یک dll هم باید همراه برنامت باشن
و برای حل اررور های دیگه که گفتین هدر فایل winsock2.h هم لازمه
یه برنامه نمونه میزارم،
کد:
#include <winsock2.h>
#include <mysql.h>
#include <stdio.h>
#pragma comment(lib, "libmysql.lib")
int main()
{
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *user = "root";
char *password = "";
char *database = "mydata";
conn = mysql_init(NULL);
/* Connect to database */
if (!mysql_real_connect(conn, NULL,
user, password, database, 0, NULL, 0)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(0);
}
/* send SQL query */
if (mysql_query(conn, "SELECT * FROM Table") )
{
fprintf(stderr, "%s\n", mysql_error(conn));
exit(0);
}
res = mysql_use_result(conn);
/* output fields 1 and 2 of each row */
while ((row = mysql_fetch_row(res)) != NULL)
printf("%s %s\n", row[0], row[1]);
/* Release memory used to store results and close connection */
mysql_free_result(res);
mysql_close(conn);
return 0;
}
دی ال ال libmysql.dll هم کنار برنامت بزار یا تو پوشه system32 بریز که دیگه هر بار کپیش نکنی،
نکته دیگه اینه که مسیر فایل های هدر و lib هم باید برای کامپایلرت مشخص کنی اگه کنار برنامه میریزی که هیچی
که تو ++Visual C مربروط به این گزینه ها میشه هر کدوم رو با مسیر لارم مقدار دهی کن
کد:
Additional Library Directories
Additional Inclucle Directories
البته پست های amirjan کمک کرد به این نتیجه ها برسیم. چون چیز زیادی از mysql نمیدونم
سلام
6 ساعت سرچ زدم libmysql.dll رو پیدا کنم و دانلود کنم ؛ بعد از دانلود کردم ، فهمیدم تو خوده پوشه mysql هستش !!
libmysql.lib نتونستم پیدا کنم ، از کجا باید بیاریمش ؟؟
نقل قول: نکته دیگه اینه که مسیر فایل های هدر و lib هم باید برای کامپایلرت مشخص کنی اگه کنار برنامه میریزی که هیچی
که تو ++Visual C مربروط به این گزینه ها میشه هر کدوم رو با مسیر لارم مقدار دهی کن
متوجه نشدم ، یعنی چکار کنیم ؟
ممنون
نقل قول: libmysql.lib نتونستم پیدا کنم ، از کجا باید بیاریمش ؟؟
تو همون پوشه mysql باید یه پوشه به نام lib باشه اونجا این فایلی که گفتم هست
نقل قول: متوجه نشدم ، یعنی چکار کنیم ؟
برای کامپایل برنامت دو تا کار میتونی بکنی یکی اینکه تمام فایلهایی که تا الان گفتیم یعنی هدر فایلها و libmysql.lib و libmysql.dll هست رو از تو پوشه mysql پیدا کنی برایزی تو پوشه برنامت. اینجوری مجبور نیستی اون قسمت که گفتم رو تنظیم کنی ولی خوب پوشه پروژت شلوغ میشه و ...
ولی یه راه دیگه هست که به اون فایلها دست نزنی بزاری همون سر جاشون باشن و به کامپایلرت بگی که این فایلها کجان. تنظیم کردن این قسمت تو هر کاپایلر متفاوته برای مثال تو 2005/2008 ++Visual C باید داخل تنظیمات پروژت بشی و به این قسمتها بری مسیرها رو بهش بدی
مثلا من در تنظیمات زیر بر اساس پوشه mysql ام مسیر C:\Program Files\MySQL\MySQL Server 5.1\include رو دادم این فسیر هدر فایلهاست
کد:
C/C++->General : Additional Inclucle Directories
و مسیر C:\Program Files\MySQL\MySQL Server 5.1\lib\opt رو در اینجا دادم که مسیر کتابخانه هاست (lib)
کد:
Linker->General : Additional Library Directories
اگه باز متوجه نشدین بگین یه عکس از اون قسمت ها بزارم
امیدوارم چیزی رو از قلم ننداخته باشم
ایول .. با تشکر از hoax3r عزیز ..
من از ++DEV-C استفاده می کردم ، مشکلم حل شد ،
winsock2 رو اینکلود کردم ، اون ارور اولی حل شد ، ولی یه سری ارور در رابطه رفرنس ها ظاهر شد که اونا هم اینطوری حل شدن :
برای اونایی که از dev استفاده می کنن ، اینجا توضیح کامل هست :
http://www.openwebspider.org/documentati...r-windows/
گفته باید فایل libmysql.a رو توی فولدر lib کامپابلر کپی کرد ( طریقه ساختن و لینکش هم همون جا هست)
طریقه ساختن فایل libmysql.dll از روی فایل libmysql.def رو هم توضیح داده ، که توی فولدر bin کامپایلر کپی کردم .
بعد توی dev ، رفتم به Tools > Compiler Options ، توی برگه Compiler ، توی قسمت Add these commands to the linkers command line اینو نوشتم :
پیوندتان مبارک ! (mysql و c رو میگم !!)