ADO API
ProudNet DB์ ์๋ ADO Wrapper API ๋ Microsoft ActiveX Data Object (ADO)๋ฅผ C++ ์ธ์ด์์ ์ฝ๊ฒ ๋ค๋ฃฐ ์ ์๋๋ก ๋ง๋ค์ด์ง API ๋ก, ๋ณด๋ค ์ฝ๊ฒ ADO๋ฅผ ์ด์ฉํ DBMS ์ ๊ทผ์ ํ ์ ์์ต๋๋ค.
DB ์ฐ๊ฒฐํ๊ธฐ
Open ํจ์์ ํ๋ผ๋ฏธํฐ๋ก ๋ค์ด๊ฐ๋ ๊ตฌ๋ฌธ์ Connection Strings ๊ท์น์ ๋ฐ๋ฆ ๋๋ค.
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();
- 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();
}
Last updated
Was this helpful?