10using namespace Microsoft::VisualStudio::CppUnitTestFramework;
18 TEST_CLASS_INITIALIZE (ClassInitialize)
20 Logger::WriteMessage (
"class initialize.\n");
23 TEST_CLASS_CLEANUP (ClassCleanup)
25 Logger::WriteMessage (
"class cleanup.\n");
28 TEST_METHOD_INITIALIZE (MethodInitialize)
30 Logger::WriteMessage (
"method initialize.\n");
33 TEST_METHOD_CLEANUP (MethodCleanup)
35 Logger::WriteMessage (
"method cleanup.\n");
72 TEST_METHOD (SQLite3Test1)
77 ret = engine.
Create (_T (
"TestData.db"));
81 LPCSTR lpcszSQL1 =
"CREATE TABLE IF NOT EXISTS TESTTBL(IDX INTEGER PRIMARY KEY, VAL1 VARCHAR, VAL2 NUMBER, VAL3 TEXT);";
82 ret = engine.
Execute (lpcszSQL1);
85 LPCSTR lpcszSQL2 =
"DELETE FROM TESTTBL;";
86 ret = engine.
Execute (lpcszSQL2);
94 LPCTSTR lpctszSQL3 = _T (
"INSERT INTO TESTTBL(VAL1, VAL2, VAL3) VALUES(?, ?, ?)");
95 ret = statement.
Prepare (engine, lpctszSQL3);
98 for (
int i = 0; i < 20; i++)
100 ret = statement.
Bind (1, i);
104 ret = statement.
Bind (2, i * 10);
107 TCHAR tszDateTime[80];
110 wsprintf (tszDateTime, _T (
"%04d/%02d/%02d %02d:%02d:%02d.%03d"), T.wYear, T.wMonth, T.wDay, T.wHour, T.wMinute, T.wSecond, T.wMilliseconds);
111 ret = statement.
Bind (3, tszDateTime);
114 int response = statement.
Execute ();
118 wsprintf (tszRow, _T (
"ROWID:%I64u\n"), engine.
GetLastRowID ());
119 Logger::WriteMessage (tszRow);
133 LPCTSTR lpctszSQL4 = _T (
"SELECT IDX, VAL1, VAL2, VAL3 FROM TESTTBL ORDER BY IDX");
134 ret = statement2.
Prepare (engine, lpctszSQL4);
138 for (
int col = 0; col < columnCount; col++)
141 wsprintf (tszMsg, _T (
"%d %s %s\n"),
145 Logger::WriteMessage (tszMsg);
150 int response = statement2.
Execute ();
159 wsprintf (tszMsg, _T (
"%d\t%S\t%S\t%s\n"), idx, lpcszVal1, lpcszVal2, lpctszVal3);
160 Logger::WriteMessage (tszMsg);
166 ret = engine.
Close ();
ULONGLONG GetLastRowID()
最後の実行時のROWIDを取得
LPCTSTR GetErrorMessage()
エラーメッセージの取得
bool BeginTransaction()
トランザクション開始
bool CommitTransaction()
トランザクションコミット
bool Create(LPCTSTR lpctszDBName)
DBファイルの作成・オープン
bool Execute(LPCSTR lpcszSQL)
SQLステートメント実行
LPCTSTR GetColumnType(int position)
カラムタイプの取得
LPCTSTR GetString16Value(int position)
行データの取得
LPCTSTR GetColumnName(int position)
カラム名の取得
bool ResetBind()
バインドのリセット
bool Prepare(Engine engine, LPCTSTR lpctszSQL)
SQLステートメントの準備
bool Bind(int position)
パラメータのバインド処理
int GetIntValue(int position)
行データの取得
LPCSTR GetStringValue(int position)
行データの取得
TEST_CLASS(DBLibraryTest)