注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

记录创意的火花

天天学习,好好向上

 
 
 

日志

 
 

MYSQL +C应用从0开始教你  

2010-04-09 13:03:31|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

环境搭建:

下载mysql:http://dev.mysql.com/downloads/mysql/

安装完后,在你的c环境下做以下配置(以vc为例)

打开vc98文件夹:

c:\Program Files\Microsoft Visual Studio\VC98

里有include和lib文件夹

把下面文件夹里内容复制到include里

C:\Program Files\MySQL\MySQL Server 5.1\include

把下面文件夹里内容复制到lib里

C:\Program Files\MySQL\MySQL Server 5.1\lib\opt

 

最后在VC连接库里加上 libmysql.lib

这样环境就配置好了

 

 

开始->程序-》mysql—》mysql5.1-》mysql command line

create database mydata;

 

 

#include <windows.h> 
#include <stdio.h> 
#include <string.h> 
#include <mysql.h>


int main( int argc, char * argv[] ) 

char szTargetDSN[] = "myData"; 
char szSqlText[500]=""; 
char aszFlds[ 25 ][ 25 ]; 
MYSQL * myData ; 
MYSQL_RES * res ; 
MYSQL_FIELD * fd ; 
MYSQL_ROW row ; 
int i,j,k; 
bool bCreate = true; 
/////////////////////初始化数据结构
if (! (myData = mysql_init((MYSQL*) 0)) )
 
 
{//出错 
printf( "Can't 初始化数据结构 ") ; 
mysql_close( myData ) ; 
return FALSE ; 
}
////////////////////////////////连接数据库   
if(NULL==mysql_real_connect( myData, "localhost", 
  
  "root", "password", szTargetDSN, 
  0, "", 0 )   )

{//连接数据库出错 
printf( "Can't connect to the mysql server ") ; 
mysql_close( myData ) ; 
return FALSE ; 

////////////////////////新建一张表

  if(bCreate) 
   { 
      if( mysql_query(myData,"drop table if exists mytable"))//如果已存在则要删除,否则会出错
       printf("drop failed");
           sprintf(szSqlText, //构造SQL语句 
    "create table mytable " 
     //新建一张表 
  "(time datetime, s1 char(6), " 
  "s2 char(11), s3 int, s4 int)"); 
   if (mysql_query( myData, szSqlText)) 
  //执行SQL语句 
   {//执行SQL语句出错 
  printf( "Can't create table\n") ; 
    mysql_close( myData ) ; 
    return FALSE ; 
   } 
  }

}
/////////////////////////////插入数据
{
sprintf(szSqlText, 
"insert into mytable " 
//向表中插入数据 
"values('2010-4-9 12:00:30'," 
//注意时间的格式 
"'Test','MySQLTest',2010,3)"); 
if (mysql_query( myData, szSqlText)) 
{//执行SQL语句出错 
printf( "Can't insert data to table\n") ; 
mysql_close( myData ) ; 
return FALSE ; 

}
///////////////////////////////查找结果
{
sprintf(szSqlText, "select * from mytable "); 
 if (mysql_query( myData, szSqlText)) 
  //进行数据检索 
  { 
   //执行SQL语句出错 
      printf("select * from mytable faied");
   mysql_close( myData ) ; 
   return FALSE ; 
  } 
else 
  { 
   res = mysql_store_result( myData ) ; 
   //取得查询结果 
   i = (int) mysql_num_rows( res ) ; 
    //取得有效记录数 
    printf( "Query: %s\n%ld records found:  \n", szSqlText, i ) ; 
    for ( i = 0 ; fd = mysql_fetch_field( res ) ;   i++ ) 
      strcpy( aszFlds[ i ], fd->name ) ; 
       //取得各字段名 
     for (i=1; row = mysql_fetch_row( res ); ) 
     //依次读取各条记录 
     {j = mysql_num_fields( res ) ; 
      //取得记录中的字段数 
      printf( "Record #%ld:-\n", i++ ) ; 
       for ( k = 0 ; k < j ; k++ ) 
       //输出各字段的值 
     printf( " Fld #%d (%s): %s\n", k + 1, aszFlds[ k ], 
      (((row[k]==NULL)|| 
      (!strlen(row[k])))?"NULL":row[k])) ; 
      puts( "==============================\n" ) ; 
     } 
mysql_free_result( res ) ; 

}
/////////////////////////正常结束

mysql_close( myData ) ; 
return TRUE ; 

这个程序会了,那么别的问题不是太大了。。。。。。。。。。

加油

  评论这张
 
阅读(495)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017