Elder Scrolls Ответов: 2

Как я могу начать с программирования баз данных на C++ или VC++ без MFC и без какой-либо сторонней библиотеки?


How can i start with database programming in C++ or VC++ without MFC and without any third party library. I just want to use the prebuilt libraries provided in visual studio by Microsoft.


Что я уже пробовал:

Я много чего перепробовал. Погуглившей. Ничего не нашел.

2 Ответов

Рейтинг:
2

RickZeeland

Простым способом было бы использовать Таблицы данных, см. пример: Базы данных Visual C++ .NET: введение в Таблицы данных[^]
Или напишите свою собственную базу данных, смотрите советы здесь: sql - как написать простой движок базы данных - переполнение стека[^]
Это тоже выглядит интересно: GitHub - simdb: один файл, никаких зависимостей, хранилище ключей и значений C++11[^]
Удачи тебе, хе-хе :)


Рейтинг:
0

Michael Haephrati

Наиболее эффективным способом для этого было бы использование И sqlite3[^].
Это проект с открытым исходным кодом. Версия Windows не требует каких-либо дополнительных рамок, и вы можете использовать ее с простым Win32 API.
SQLite3 не имеет надлежащей поддержки UNICODE, поэтому я обычно использую оболочку под названием CppSqlite3[^] что также очень просто и прямолинейно.

Вот пример, который я написал:

// An example for updating a record: Update or Replace the value of FieldValue in field FieldName
bool UpdateRecord(bool UpdateOnly, CString FieldName,CString FieldValue)
{
	CppSQLite3DB temp;
	temp.open(DBName);


	CString sql;
	if (UpdateOnly)
	{
		sql = (CString)L"UPDATE log " + (CString)L" SET " + FieldName + L" = " + FieldValue;
	}
	else
	{
		sql = L"REPLACE INTO log (" + FieldName + L") VALUES ('" + FieldValue + L"')";
	}

	CppSQLite3Query SqlQuery;
	try
	{
		SqlQuery = temp.execQuery(sql);
	}
	catch (CppSQLite3Exception & e)
	{
		temp.close();
		return false;
	}
	temp.close();
	return true;
}