見出し画像

Notes C API探訪: NSFDbDelete(関数)

「データベースを操作」といえばSQLが有名なので、前回の「データベースを作成する」関数はいわば「CREATE DATABASE」と同じです。今回のNSFDbDelete関数は、SQLでいう「DROP DATABASE」、データベースの削除をします。

NSFDbDelete

NSFDbDelete関数は、既存のデータベースを完全に削除します。

#include <nsfdb.h>
STATUS LNPUBLIC NSFDbDelete (const char far *PathName);

PathNameは、OSPathNetConstructで作成したパスを指定します。

この関数ではハンドルをオープンしている必要はありません。パスを指定して、条件が満たされていればさっくり削除されます。何らかの理由で削除できない場合は、NOERROR値以外の値を返します。

サンプルコード

#include <global.h>
#include <nsfdb.h>
#include <osfile.h>

void nsfdbdeleteTest() {
 char path[MAXPATH] = "";
 STATUS status = OSPathNetConstruct(nullptr, "", "hoge.nsf", path);
 if (ERR(status) != NOERROR) {
   std::cerr << "OSPathNetConstruct error." << std::endl;
   return;
 }
 status = NSFDbCreate(path, DBCLASS_NOTEFILE, FALSE);
 if (ERR(status) != NOERROR) {
   std::cerr << "NSFDbCreate error." << std::endl;
   return;
 }
 std::cout << "Database 'hoge.nsf' is created." << std::endl;
 status = NSFDbDelete(path);
 if (ERR(status) != NOERROR) {
   std::cerr << "NSFDbDelete error." << std::endl;
   return;
 }
 std::cout << "Database 'hoge.nsf' is deleted." << std::endl;
}

このサンプルコードは、前回のサンプルコードを拡張しています。

注意: コードの利用においてチブル・システムズは一切の責任を負いません。自己責任でご利用をお願いいたします。

いいなと思ったら応援しよう!