ProudNet Docs
WebsiteProud ConsoleLanguage
  • ๐ŸŒProudNet ํ”„๋ผ์šฐ๋“œ๋„ท
    • ProudNet ์†Œ๊ฐœ
    • ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์น˜
      • ProudNet ๋ผ์ด์„ผ์Šค ์ธ์ฆ ๋ฐฉ๋ฒ•
      • AMI
    • ํ”„๋กœ์ ํŠธ ์„ค์ •
      • C++
      • C#
      • Mac Xcode
      • Linux
      • Unity3D
        • iOS ๋นŒ๋“œ
      • Unreal Engine 4
      • PIDL ์ปดํŒŒ์ผ๋Ÿฌ ์‹คํ–‰
    • ProudNet ์‚ฌ์šฉํ•˜๊ธฐ
      • ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ
        • ์„œ๋ฒ„ ํ™œ์šฉ๋ฒ•
        • ํด๋ผ์ด์–ธํŠธ ํ™œ์šฉ๋ฒ•
      • RMI
        • RMI ํ™œ์šฉ๋ฒ•
      • PIDL
        • PIDL ํ™œ์šฉ๋ฒ•
      • ์ด๋ฒคํŠธ ํ•ธ๋“ค๋ง
      • ํ†ต์‹  ๋ฉ”์‹œ์ง€
      • P2P ํ†ต์‹ 
        • P2P ํ†ต์‹  ํ™œ์šฉ๋ฒ•
    • ProudNet ํ™œ์šฉํ•˜๊ธฐ
      • ํ™œ์šฉ ๋ฐฉ๋ฒ•
      • ์„ฑ๋Šฅ์„ ์œ„ํ•œ ํŒ
    • ProudNet์—์„œ DB ์‚ฌ์šฉํ•˜๊ธฐ
      • DB Cache System ver.2
        • DB Cache ์ด๋ก  ๋ฐ ์ดํ•ด
        • DB Cache ์„ค์น˜ ๋ฐ ๋„คํŠธ์›Œํฌ ์„ค์ •
        • DB Cache ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ
        • DB Cache ์‚ฌ์šฉ ๋ฐ ํ™œ์šฉ
          • DB Cache ํ™œ์šฉ๋ฒ•
      • ADO API
      • ODBC API
    • ProudNet ์œ ํ‹ธ๋ฆฌํ‹ฐ
  • ProudNet ์ฐธ๊ณ ์ž๋ฃŒ
    • ๊ธฐ์ˆ ๋…ธํŠธ
      • ๋ฉ”์ธ ๋ฃจํ”„์˜ ์ดํ•ด
      • ์„œ๋ฒ„ ๋ฐฉํ™”๋ฒฝ ์„ค์ •
      • ์•”ํ˜ธํ™” ๋ฐ ๋ณตํ˜ธํ™”
      • ์—๋Ÿฌ๋ฐœ์ƒ ์‹œ ๋Œ€์ฒ˜์‚ฌํ•ญ
      • ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ๋ชฉ๋ก
      • ์บ๋ฆญํ„ฐ ์œ„์น˜ ๋™๊ธฐํ™”
      • ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ํ†ต์‹ 
      • MiniDump (์˜ค๋ฅ˜๋คํ”„์‹œ์Šคํ…œ)
      • [1.6 ๋ฒ„์ „] ์„œ๋ฒ„ ๊ฐ„ LAN ํ†ต์‹ ๊ธฐ
    • ์šฉ์–ด์ง‘
    • Sample ์˜ˆ์ œ
  • ๐ŸŒํ”„๋ผ์šฐ๋“œ ์„œ๋น„์Šค
    • ์ฝ˜์†” ์ด์šฉ ์•ˆ๋‚ด
    • ProudChat
      • SDK ๋‹ค์šด๋กœ๋“œ
        • C++
        • C#
        • Unity3D
        • Unreal Engine 4
      • ์„œ๋น„์Šค ๊ธฐ๋Šฅ
Powered by GitBook
On this page
  • DB ์—ฐ๊ฒฐํ•˜๊ธฐ
  • DB ์‚ฌ์šฉํ•˜๊ธฐ
  • - Query ์ง์ ‘ ์‚ฌ์šฉํ•˜๊ธฐ
  • - Stored procedure ์‚ฌ์šฉํ•˜๊ธฐ
  • - CAdoRecordset ๋ฐ์ดํ„ฐ ์ฝ๊ธฐ

Was this helpful?

  1. ProudNet ํ”„๋ผ์šฐ๋“œ๋„ท
  2. ProudNet์—์„œ DB ์‚ฌ์šฉํ•˜๊ธฐ

ADO API

PreviousDB Cache ํ™œ์šฉ๋ฒ•NextODBC API

Last updated 1 year ago

Was this helpful?

ProudNet DB์— ์žˆ๋Š” ADO Wrapper API ๋Š” Microsoft ActiveX Data Object (ADO)๋ฅผ C++ ์–ธ์–ด์—์„œ ์‰ฝ๊ฒŒ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด์ง„ API ๋กœ, ๋ณด๋‹ค ์‰ฝ๊ฒŒ ADO๋ฅผ ์ด์šฉํ•œ DBMS ์ ‘๊ทผ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•„๋ž˜ ์ฝ”๋“œ๋Š”๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

DB ์—ฐ๊ฒฐํ•˜๊ธฐ

Open ํ•จ์ˆ˜์— ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋“ค์–ด๊ฐ€๋Š” ๊ตฌ๋ฌธ์€ ๊ทœ์น™์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

Proud::CAdoConnection conn;

// MSSQL
conn.Open(L"Driver={ODBC Driver 17 for SQL Server};Server=localhost;Database=ProudAdo-Test;Trusted_Connection=yes;");
// MYSQL
conn.Open(L"Driver={MySQL ODBC 8.0 Unicode Driver};Server=127.0.0.1;Port=3306;Database=proudado-test;User ID=proud;Password=proudnet123;Option=3;", Proud::DbmsType::MySql);

DB ์‚ฌ์šฉํ•˜๊ธฐ

- Query ์ง์ ‘ ์‚ฌ์šฉํ•˜๊ธฐ

// ํ…Œ์ŠคํŠธ์šฉ ์ฟผ๋ฆฌ์ž…๋‹ˆ๋‹ค.
// ํ•ด๋‹น ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”
// DB์— UserId, Password, Country๋ผ๋Š” Column์„ ๊ฐ€์ง„
// UserData ํ…Œ์ด๋ธ”์ด ์กด์žฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.


// ํŠธ๋žœ์žญ์…˜ ์‹œ์ž‘
conn.BeginTrans();

// ์ฟผ๋ฆฌ ์‹คํ–‰ ์ฝ”๋“œ
// ์•„๋ž˜ ์˜ˆ์‹œ๋Š” ํ…Œ์ŠคํŠธ ์šฉ ์ฟผ๋ฆฌ์ž…๋‹ˆ๋‹ค.
// ํ•ด๋‹น ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”
// DB์— UserId, Password, Country๋ผ๋Š” Column์„ ๊ฐ€์ง„
// UserData ํ…Œ์ด๋ธ”์ด ์กด์žฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
conn.Execute(Proud::String::NewFormat(L"insert into UserData (UserID, Password, Country) VALUES(%s, %s, %d)", L"test", L"password", 1));

// ํŠธ๋žœ์žญ์…˜ commit
conn.CommitTrans();

- Stored procedure ์‚ฌ์šฉํ•˜๊ธฐ

// ๋ช…๋ น๋ฌธ ์ •๋ณด๋ฅผ ๋‹ด์„ CAdoCommand 
Proud::CAdoCommand cmd;
// Return ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์„ CAdoRecordset
Proud::CAdoRecordset rec;

// AddUserData ๋ผ๋Š” procedure๊ฐ€ ์กด์žฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
cmd.Prepare(conn, L"AddUserData");

// ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
cmd.Parameters[1] = L"test";
cmd.Parameters[2] = L"password";
cmd.Parameters[3] = 1;

// procedure ์‹คํ–‰
cmd.Execute(rec);

rec.Close();
// ๋ช…๋ น๋ฌธ ์ •๋ณด๋ฅผ ๋‹ด์„ CAdoCommand 
Proud::CAdoCommand cmd;
// Return ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์„ CAdoRecordset
Proud::CAdoRecordset rec;

// AddUserData ๋ผ๋Š” procedure๊ฐ€ ์กด์žฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
cmd.Prepare(conn, L"AddUserData");

// MSSQL๊ณผ ๋‹ฌ๋ฆฌ AppendParameter์„ ํ˜ธ์ถœํ•ด์•ผ๋งŒ ํ•œ๋‹ค.
// Need to call AppendParameter instead of MSSQL.
cmd.AppendParameter(L"InUserID", ADODB::adVarWChar, ADODB::adParamInput, L"test", wcslen(L"test"));
cmd.AppendParameter(L"InPassword", ADODB::adVarWChar, ADODB::adParamInput, L"password", wcslen(L"password"));
cmd.AppendParameter(L"InCountry", ADODB::adInteger, ADODB::adParamInput, 1);

cmd.Execute();

rec.Close();

- CAdoRecordset ๋ฐ์ดํ„ฐ ์ฝ๊ธฐ

Proud::AdoRecordset rec;
// ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ DB์— UserData ํ…Œ์ด๋ธ”์ด ์กด์žฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
rec.Open(conn, Proud::DbOpenFor::OpenForReadWrite, L"select * from UserData");

Proud::String strID, strPassword, strCountry;
while (rec.IsEOF() == false)
{
	strID = ((Proud::String)rec.FieldValues[L"UserID"]).GetString();
	strPassword = ((Proud::String)rec.FieldValues[L"Password"]).GetString();
	strCountry = ((Proud::String)rec.FieldValues[L"Country"]).GetString();
	
	wprintf(L"UserID : %s, Password : %s, Country : %s\n", strID.GetString(), strPassword.GetString(), strCountry.GetString());
	
	rec.MoveNext();
}
Proud::AdoRecordset rec;
// ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ DB์— UserData ํ…Œ์ด๋ธ”์ด ์กด์žฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
rec.Open(conn, Proud::DbOpenFor::OpenForReadWrite, L"select * from UserData");

Proud::String strID, strPassword, strCountry;
while (rec.IsEOF() == false)
{
	strID = rec.FieldValues[L"UserID"];
	strPassword = rec.FieldValues[L"Password"];
	strCountry = rec.FieldValues[L"Country"];
	
	wprintf(L"UserID : %s, Password : %s, Country : %s\n", strID.GetString(), strPassword.GetString(), strCountry.GetString());
	
	rec.MoveNext();
}

๐ŸŒ
git ์˜ˆ์‹œ ํ”„๋กœ์ ํŠธ
Connection Strings