Heim >Datenbank >MySQL-Tutorial >So verbinden Sie VC mit der MySQL-Datenbank
So verbinden Sie die MySQL-Datenbank mit vc: Öffnen Sie zuerst VC6, fügen Sie dann den Include-Verzeichnispfad des lokal installierten MySQL hinzu und wählen Sie dann „Bibliotheksdateien“ aus Testen.
Empfohlen: „MySQL-Video-Tutorial“
1. MySQL-Installation
Die MySQL-Installation kann von der offiziellen Website heruntergeladen werden. . . Die neueste Version ist Version 5.7. .
2. VC6.0-Einstellungen
(1) Wählen Sie die Option 0 Optionen im Menü „Extras“ der Symbolleiste und die Dropdown-Liste „Verzeichnisse anzeigen für:“ auf der rechten Seite die Registerkarte „Verzeichnisse“ Fügen Sie dann unter „Includefiles“ den Include-Verzeichnispfad Ihrer lokalen MySQL-Installation in das mittlere Listenfeld ein. Wie im Bild gezeigt:
(2) Wählen Sie „Bibliotheksdateien“ in der oben genannten Dropdown-Liste „Verzeichnisse anzeigen für:“ und fügen Sie dann den Lib-Verzeichnispfad Ihres lokalen MySQL hinzu Installation. Wie im Bild gezeigt:
** Ich möchte hier erklären: Vorsichtige Leute werden feststellen, dass sich mein Verzeichnis von dem im vorherigen Bild unterscheidet. Dies liegt an diesem Fehler: libmysql.lib : Schwerwiegender Fehler LNK1113: Ungültiger Computer Ungültiger Server
Dies liegt daran, dass vc 32-Bit-Programme entwickelt und die MySQL-Datenbank 64-Bit ist. Wenn Sie ein 32-Bit-Programm verwenden, um eine 64-Bit-Datenbank zu betreiben, Sie werden auf jeden Fall einen Fehler machen. Ich werde es weiter unten erklären. In einem Blog-Beitrag wird ausführlich erklärt, wie Sie das Problem lösen können.
(3) Fügen Sie „libmysql.lib“ in „Projekteinstellungen->Link:Objekt-/Bibliotheksmodule“ hinzu. Schritt 5: Es wird empfohlen, „libmysql.lib, libmysql.dll“ in das von Ihnen erstellte Verzeichnis zu kopieren.
Diese beiden Dateien befinden sich im Verzeichnis D:Mysqllib.
3. Programmierimplementierung
#include <stdio.h> #include <windows.h> #include <mysql.h> int main() { MYSQL mysql; mysql_init(&mysql); //初始化mysql结构 if(!mysql_real_connect(&mysql,"localhost","myuser","123456","student_db",3306,NULL,0)) printf("\n连接数据库时发生错误!\n"); else printf("\n连接数据库成功!\n"); mysql_close(&mysql); //释放数据库 return 0; }
mysql_real_connect(&mysql,“localhost“,myuser“,123456“,student_db“,3306,NULL,0)//myuser ist mein Benutzername, „123456“ ist das Passwort, „student_db“ ist die Datenbank , 3306 ist die Portnummer
2. Implementieren Sie das Abfrage-Applet
// test.cpp : Defines the entry point for the console application. // #include <stdio.h> #include <windows.h> #include "StdAfx.h" #include <winsock.h> #include <iostream> #include <string> #include <mysql.h> using namespace std; //不需要单步调试的就注释掉 //#define STEPBYSTEP void pause(){ #ifdef STEPBYSTEP system("pause"); #endif } void writeToFile(const char *s) { FILE *fp=fopen("info.txt","rw"); fprintf(fp,s); fclose(fp); } /* int main() { MYSQL mysql; mysql_init(&mysql); //初始化mysql结构 if(!mysql_real_connect(&mysql,"localhost","myuser","123456","student_db",3306,NULL,0)) printf("\n连接数据库时发生错误!\n"); else printf("\n连接数据库成功!\n"); mysql_close(&mysql); //释放数据库 return 0; }*/ int main(int argc, char* argv[]){ cout<<"start...."<<endl; pause(); MYSQL mysql; if(0==mysql_library_init(0,NULL,NULL)) { cout<<"mysql_library_init succeed"<<endl; }else{ cout<<"mysql_library_init failed"<<endl; return -1; } pause(); if(NULL!=mysql_init(&mysql)) { cout<<"mysql_init succeed"<<endl; }else{ cout<<"mysql_init failed"<<endl; return -1; } pause(); if(0==mysql_options(&mysql,MYSQL_SET_CHARSET_NAME,"gb2312")) { cout<<"mysql_option succeed"<<endl; }else{ cout<<"mysql_option failed"<<endl; return -1; } pause(); if(NULL!=mysql_real_connect(&mysql,"localhost","myuser","123456","student_db",3306,NULL,0)) { cout<<"mysql_real_connect succeed"<<endl; }else{ cout<<"mysql_real_connect failed"<<endl; return -1; } pause(); string sql; sql="select * from sgroup"; MYSQL_RES *result=NULL; if(0==mysql_query(&mysql,sql.c_str())) { cout<<"mysql_query select succeed"<<endl; result=mysql_store_result(&mysql); int rowcount=mysql_num_rows(result); cout<<"row count:"<<rowcount<<endl; unsigned int fieldcount=mysql_num_fields(result); MYSQL_FIELD *field=NULL; for(unsigned int i=0;i<fieldcount;i++) { field=mysql_fetch_field_direct(result,i); cout<<field->name<<"\t\t"; } cout<<endl; MYSQL_ROW row=NULL; row=mysql_fetch_row(result); while(NULL!=row) { for(int i=0;i<fieldcount;i++){ cout<<row[i]<<"\t\t"; } cout<<endl; row=mysql_fetch_row(result); } }else{ cout<<"mysql_query select data failed"<<endl; mysql_close(&mysql); return -1; } pause(); /*sql="drop table user_info"; if(0==mysql_query(&mysql,sql.c_str())) { cout<<"mysql_query drop table succeed"<<endl; }else{ cout<<"mysql_query drop table failed"<<endl; mysql_close(&mysql); return -1; } */ mysql_free_result(result); mysql_close(&mysql); mysql_server_end(); system("pause"); return 0; }Laufergebnisse:
Die Verbindung ist erfolgreich. . Ha ha. .
Das obige ist der detaillierte Inhalt vonSo verbinden Sie VC mit der MySQL-Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!