用c怎么建数据库啊

vn68214 2006-11-24 11:07:30
大家帮帮忙给点想法吧
...全文
239 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
morris 2006-11-25
  • 打赏
  • 举报
回复
main()
{
build_a_database();
}


你说具体点
laiwusheng 2006-11-25
  • 打赏
  • 举报
回复
编译:gcc -L/usr/lib/mysql –lmysqlclient func.c -o func
挺拔的劲松 2006-11-25
  • 打赏
  • 举报
回复
创建数据库有两种办法,一般指后一种
第一种指你自己写个数据库管理系统来封装数据库(当然这很麻烦)
第二种是你通过别人提供的数据库管理系统工具或接口来创建数据库,由于这些接口不是标准 C 的一部分,而且数据库管理系统是如此之多,因此这些接口是各式各样的. 不过,尽管如此,在人们的持续努力下,还是逐渐形成了通用性强的比较统一的顶层接口. 严格说起来,这些顶层接口只是一种通信协议,它规定数据库开发者应该如何编写接口以使他们的产品更通用化.Windows 下比较著名的一个接口是 IDISPATCH,通过它可以访问数据库开发人员或者数据库管理系统开发人员提供的 COM 对象,这个 COM 对象里封装了操作数据库和数据库管理系统的函数.这是通过COM 来访问数据库的一个简单描述. 应该明白,如果数据库管理系统的开发者不向我们提供这些接口的话,我们就很难访问这些数据库了,不过这种情况实在罕见.很明显,这些接口不是标准 C 的一部分,虽然它们的绝大多数多数是用 C/C++ 开发的.不过由于这些顶级接口定义是操作系统的一部分,因此操作系统会提供途径来让我们可以访问这些接口. Windows提供了大量的 API 函数,其中有许多和数据访问接口接口有关,比如 ODBC .不过,认真的说,开发一个直接用 C 来访问数据库功能完善的程序是可怕的艰巨任务,因为开发周期会很长,程序难于调试和维护.比较合适的语言是 C++, 因为 C++ 可以使用更方便的类库接口,这比直接的 COM 或COM 之上的 ODBC 要方便多了.


laiwusheng 2006-11-25
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <mysql/mysql.h>
#include <stdlib.h>
#include <errno.h>
#include <syslog.h>
MYSQL mysql;
main(){
char host[32]=”localhost”; //mysql host
char user[32]=”username”; //mysql username
char passwd[32]=”pwd”; //mysql pwd
char dbname[32]=”testdb”; //mysql db



if( mysql_init(&mysql) == NULL )
{
syslog(LOG_USER|LOG_INFO,”inital mysql handle error\n”);
return 1;
}
if (mysql_real_connect(&mysql,host,user,passwd,dbname,0,NULL,0) == NULL)
{
syslog(LOG_USER|LOG_INFO, “Failed to connect to database: Error: %s\n”,mysql_error(&mysql));
return 1;
}
else syslog(LOG_USER|LOG_INFO, “connect to database: \n”);
printf(”connected to the db!\n”);
int a = find_ps();
printf(”the num is:%d\n”,a);
db_close();
return 0;}int db_close(){
mysql_close(&mysql);
return 0;
}
int find_ps (){
MYSQL_ROW m_row;
MYSQL_RES *m_res;
char sql[1024],username[32];
int res=1;
int *id;

sprintf(sql,”select * from testdb where user_name = ‘%s’”, u_name);
if(mysql_query(&mysql,sql) != 0)
{
syslog(LOG_USER|LOG_INFO, “select ps_info Error: %s\n”,mysql_error(&mysql));
return res;
}
m_res = mysql_store_result(&mysql);
if(m_res==NULL)
{
syslog(LOG_USER|LOG_INFO, “select username Error: %s\n”,mysql_error(&mysql));
res = 3;
return res;
}
}
mysql_free_result(m_res);
return res;}

挺拔的劲松 2006-11-25
  • 打赏
  • 举报
回复
你的意思是不是用C连接数据库,然后调用SQL语句建数据库啊??
挺拔的劲松 2006-11-25
  • 打赏
  • 举报
回复
用c建数据库, 没听说过,C又不是SQL,呵呵
你不会是想用C来开发个数据库管理系统吧!

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧