example.txt
上传用户:tsgydb
上传日期:2007-04-14
资源大小:10674k
文件大小:2k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. #include <sys/types.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5. #include "db.h"
  6. #define DATABASE "access.db"
  7. int
  8. main()
  9. {
  10. DB *dbp;
  11. DBT key, data;
  12. int ret, t_ret;
  13. /* Create the database handle and open the underlying database. */
  14. if ((ret = db_create(&dbp, NULL, 0)) != 0) {
  15. fprintf(stderr, "db_create: %sn", db_strerror(ret));
  16. exit (1);
  17. }
  18. if ((ret =
  19.     dbp->open(dbp, DATABASE, NULL, DB_BTREE, DB_CREATE, 0664)) != 0) {
  20. dbp->err(dbp, ret, "%s", DATABASE);
  21. goto err;
  22. }
  23. /* Initialize key/data structures. */
  24. memset(&key, 0, sizeof(key));
  25. memset(&data, 0, sizeof(data));
  26. key.data = "fruit";
  27. key.size = sizeof("fruit");
  28. data.data = "apple";
  29. data.size = sizeof("apple");
  30. /* Store a key/data pair. */
  31. if ((ret = dbp->put(dbp, NULL, &key, &data, 0)) == 0)
  32. printf("db: %s: key stored.n", (char *)key.data);
  33. else {
  34. dbp->err(dbp, ret, "DB->put");
  35. goto err;
  36. }
  37. /* Retrieve a key/data pair. */
  38. if ((ret = dbp->get(dbp, NULL, &key, &data, 0)) == 0)
  39. printf("db: %s: key retrieved: data was %s.n",
  40.     (char *)key.data, (char *)data.data);
  41. else {
  42. dbp->err(dbp, ret, "DB->get");
  43. goto err;
  44. }
  45. /* Delete a key/data pair. */
  46. if ((ret = dbp->del(dbp, NULL, &key, 0)) == 0)
  47. printf("db: %s: key was deleted.n", (char *)key.data);
  48. else {
  49. dbp->err(dbp, ret, "DB->del");
  50. goto err;
  51. }
  52. /* Retrieve a key/data pair. */
  53. if ((ret = dbp->get(dbp, NULL, &key, &data, 0)) == 0)
  54. printf("db: %s: key retrieved: data was %s.n",
  55.     (char *)key.data, (char *)data.data);
  56. else
  57. dbp->err(dbp, ret, "DB->get");
  58. err: if ((t_ret = dbp->close(dbp, 0)) != 0 && ret == 0)
  59. ret = t_ret;
  60. exit(ret);
  61. }