VC2012链接mySql


环境设置:

安装完mysql
vs中 vc++目录 中 包含目录 D:\DevSoft\MySQL\MySQL Server 5.5\include 这个文件夹
vc++目录 中 引用目录 D:\DevSoft\MySQL\MySQL Server 5.5\lib 这个文件夹。

记得把 mysql 安装目录中的include目录下的libmysql.lib 复制到工程文件夹下。

如果是32位的mysql 可以直接连。 如果是 64,需要 配置 vs x64平台,在配置管理其中,然后连。


#include "stdafx.h"
#include <Windows.h>
#include <string.h>
#include <mysql.h>
#include <iostream>
using namespace std;

int main()
{
const char user[] = "花花的数据库账号"; //username
const char pswd[] = "花花的数据库密码"; //password
const char host[] = "localhost"; //or"127.0.0.1"
const char table[] = "画画的数据库空间"; //database
unsigned int port = 3306; //server port
MYSQL myCont;
MYSQL_RES *result;
MYSQL_ROW sql_row;
MYSQL_FIELD *fd;
char column[32][32];
int res;
mysql_init(&myCont);
if(mysql_real_connect(&myCont,host,user,pswd,table,port,NULL,0))
{
cout<<"connect succeed!"<<endl;
mysql_query(&myCont, "SET NAMES GBK"); //设置编码格式,否则在cmd下无法显示中文
res=mysql_query(&myCont,"select * from student");//查询
if(!res)
{
result=mysql_store_result(&myCont);//保存查询到的数据到result
if(result)
{
int i,j;
cout<<"number of result: "<<(unsigned long)mysql_num_rows(result)<<endl;
for(i=0;fd=mysql_fetch_field(result);i++)//获取列名
{
strcpy_s(column[i],fd->name);
}
j=mysql_num_fields(result);
for(i=0;i<j;i++)
{
printf("%s\t",column[i]);
}
printf("\n");
while(sql_row=mysql_fetch_row(result))//获取具体的数据
{
for(i=0;i<j;i++)
{
printf("%s\n",sql_row[i]);
}
printf("\n");
}
}
}
else
{
cout<<"query sql failed!"<<endl;
}
}
else
{
cout<<"connect failed!"<<endl;
}
if(result!=NULL) mysql_free_result(result);//释放结果资源
mysql_close(&myCont);//断开连接
system("pause");
return 0;
}

 

 

 1 #include<iostream>
 2 #include<stack>
 3 using std::cin;
 4 using std::cout;
 5 class STACK
 6 {
 7 public:
 8     int *a;
 9     int number;                
10 public:
11     STACK():number(0){a=new int[0];};
12     STACK(int n):number(n){a=new int[n];};
13     int&operator[](int key){return a[key];};
14     int&operator*(){return a[0];}
15     int * operator+(int i){return (a+i);}
16     int&at(int n){return a[n];};
17     int&front(){return a[0];};
18     int&back(){return a[number-1];};
19     int* begin()const{return a;};
20     int* end()const{return (a+number-1);};
21     int size()const{return number;};
22     bool empty(){return !number;};
23     void clear(){delete[]a;};
24     void top(){resize(number-1);};
25     ~STACK(){delete[]a;};
26     void resize(int);
27     void push_back(int);
28     void erase(int);
29     void insert(int*,int);
30     void reserve(); 
31 };
32 void STACK::resize(int size)
33 {
34     int *b=new int[size];
35     for(int i=0;i<number&&i<size;i++)
36         b[i]=a[i];
37     delete[]a;
38     number=size;
39     a=b;
40 }
41 void STACK::push_back(int integer)
42 {
43     resize(number+1);
44     a[number-1]=integer;
45 }
46 void STACK::erase(int n)
47 {
48     for(int i=n;i<number-1;i++)
49         a[n]=a[n+1];
50     resize(number-1);
51 }
52 void STACK::insert(int *p,int n)        
53 {
54     int m=p-a;
55     resize(number+1);
56     for(int i=number-1;i>m;i--)
57         a[i]=a[i-1];
58     a[m]=n;
59 }                            
60 void STACK::reserve ()
61 {
62     for(int i=0;i<number/2;i++)
63     {
64         int temp=a[i];
65         a[i]=a[number-i-1];
66         a[number-i-1]=temp;
67     }
68 }
69 int main()
70 {
71 /*    int i;
72     STACK stack(5);
73     for(i=0;i<5;i++)
74         cin>>stack[i];
75     for(i=0;i<5;i++)
76     cout<<*(stack+i)<<" ";
77     cout<<'\n';
78     stack.insert (stack.begin()+3,10);
79     for(i=0;i<6;i++)
80     cout<<*(stack+i)<<" ";
81     cout<<'\n';*/
82 
83     STACK stack;
84     stack.push_back (10);
85     stack.push_back (12);
86     stack.push_back (14);
87     cout<<stack.back()<<'\n';
88     stack.top();
89     cout<<stack.back()<<'\n';
90     return 0;
91 }

 

 

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #define N 41
 4 #define M 3 
 5 #define START 0
 6  struct stu
 7  {
 8     int data;
 9     struct stu *next;
10 } LNode[N];
11 
12  int main(void)
13  {
14     int i;
15     
16 struct stu *next,*p, *r;
17 for (i = 0; i < N; i++)
18  {
19 LNode[i].data = i + 1;
20 if (i < N - 1)
21 LNode[i].next = &LNode[i + 1];
22 else
23 LNode[i].next = LNode;
24 }
25 p = &LNode[START];
26 while(p -> next != p)
27  {
28 for (i = 1; i < M ; i++) 
29 {
30 r = p;
31 p = p ->next;
32 }
33 r ->next = p -> next;
34 printf("编号为%d的人出列\n", p -> data);
35 p = r ->next;
36 
37 }
38 
39 
40 getchar();
41 return 0;
42 }

 

 

posted @ 2013-06-06 13:39  herizai  阅读(340)  评论(0)    收藏  举报