등급 : 초급
ADO oledb를 이용한 간단한 DB조작에 관련된 강좌입니다.
아시겠지만 DB조작은 ODBC를 이용하거나 OLEDB 등을 이용해 가능합니다.
ODBC는 배포시 ODBC설정등을 해줘야(코드로 대체할 수 있습니다.) 하므로 귀찮기에 전 VB건 ASP건 VC건 모두 OLEDB로 처리하는 편입니다.
짧은 경험상 책을 통한 지식(클래스를 이용한 DB조작)은 딱딱하기 그지 없습니다.
이는 위에 나열한 언어와 관련된 책 모두 동일했습니다.
(특히 VB로 처음 DB조작이란걸 경험했을때 DAO 컨트롤을 통해 레코드를 이동시키며 공부했을때의 그 막막함이란..ㅡㅡ
Join이란 녀석 자체도 몰랐기에 테이블 만큼 컨트롤 생성하고 억지로 이것 저것..ㅡㅡ)
여튼.. 잡설은 그만두고.. 간단한 사용 예를 들어볼까 합니다.
[사전인지사항]MyAdodb.h, MyAdodb.cpp : DB관련 변수와 초기화 연결등을 담당합니다.
SimpleAdoDlg.h SimpleAdoDlg.cpp : 실질적인 DB조작을 담당합니다.
[Step 1 : MyAdodb.h, MyAdodb.cpp]1.프로젝트 하나를 생성합니다.
2.StdAfx.h를 열어 #import “C:\Program Files\Common Files\System\ado\msado15.dll” no_namespace rename(“EOF”, “adoEOF”)를
복사해 넣습니다.
3.COM 라이브러리를 초기화해야 하니 CoInitialize(0);를 생성자에 포함시킵니다.
이와 반대로 소멸자엔 CoUninitialize();를 삽입합니다.
4. 커넥션과 커멘드 그리고 레코드셋 변수를 생성해줍니다.
_ConnectionPtr m_pConn; // 커넥션은 말 그대로 DB와의 연결을 담당합니다. DB의 Open, Close…
_RecordsetPtr m_pRs; // 레코드셋 또한 말 그대로 조회결과인 레코드들을 담당합니다. 이녀석을 통하여 조회된 결과를 Movenext등을 이용해 원하는 결과물을 얻어낼 수 있습니다.
_CommandPtr m_pComm;// 커멘드는 이 역시 명령과 관련된 녀석입니다. Update를 해라던지…
5.DB와 연결을 합니다.
BOOL CMyAdodb::InitDB(CString strUserId, CString strPassWord, CString strDbIp, CString strDbName, CString strPort)
{
CString strConn = “”;
strConn.Format(“User ID=%s;Password=%s;Data Source=%s;”
“Initial Catalog=%s;Network Address=%s,%s;”
“Network Library=dbmssocn”,
strUserId, strPassWord, strDbIp, strDbName, strDbIp, strPort);
m_pConn = new _ConnectionPtr(“ADODB.Connection”);
m_pRs = new _RecordsetPtr(“ADODB.Recordset”);
m_pRs->CursorType = adOpenDynamic;
m_pComm = NULL;
m_pConn->Provider = “SQLOLEDB”;
m_pConn->ConnectionString = strConn.GetBuffer(0); // 접속 스트링 설정.
try
{
m_pConn->Open(“”,””,””, adConnectUnspecified);
}catch(…)
{
return FALSE;
}
m_pComm.CreateInstance(__uuidof(Command));
m_pComm->ActiveConnection = m_pConn;
m_pComm->CommandType = adCmdText;
return TRUE;
}
여기 까지 했다면 일단 사전 준비단계는 끝난거라봐도 무관합니다.
이제부턴 실질적인 연결작업과 조회 수정등을 해 볼 차례입니다.
[Step 2 SimpleAdo.h, SimpleAdo.cpp]1.MyAdodb.h를 SimpleAdoDlg.h에 포함시키고 클래스를 만듭니다.
#include “MyAdodb.h”
CMyAdodb m_MyAdodb;
2.SimpleAdoDlg.cpp에서 DB연결 및 조작을 해봅니다.
먼저 DB연결 문자열을 생성시킵니다.
쿼리를 날렸을때 이녀석이 어떤 DB에 어떤 정보로 로긴등을 하여 조작이 가능한지에 대한 문자열입니다.
잘 모르신다면 아래 강좌를 참조하시면 쉽게 설명되어있습니다.
MS-SQL을 기준으로
User ID : DB에 로그인할 아이디 (SA정도가 됩니다.)
Password : 로그인할 아이디의 비밀번호
Data Source : MS-SQL이니 특정 아이피가 들어갑니다. 만약 MDB라면 해당 로컬 경로가 들어가있을겁니다.
Initial Catalog : DB의 이름입니다.
Network Address : MS-SQL이니 특정 아이피가 들어갑니다. 만약 MDB라면 해당 로컬 경로가 들어가있을겁니다. 특정 포트로 DB가 설정이 되어있지 않다면 기본포트인 1433이 입력됩니다.
Network Library : 모르겠군요. 책을 보면 나와있을겁니다. 죄송^^
Ex)
User ID=USERID;Password=PASSWORD;Data Source=XXX.XXX.XXX.XXX;Initial Catalog=DBNAME;Network Address=XXX.XXX.XXX.XXX,1433;Network Library=dbmssocn
위 정보를 토대로 Step1의 5번에서 만든 DB연결 함수를 호출합니다.
if(m_MyAdodb.InitDB(“USERID”, “PASSWORD”, “XXX.XXX.XXX.XXX”, “DBNAME”, “1433”) == FALSE)
{
MessageBox(“디비접속에러입니다. 작업을 진행할 수 없습니다.”, “SIMPLEDB”, MB_ICONSTOP);
GetParentOwner()->PostMessage(WM_CLOSE);
return;
}
3.DB와의 연결이 성공하였으니 가장 기본이 되는 조회(Select)를 해보겠습니다.
// 알맞은 쿼리를 대입하십시요. join이든 union이든.. (당연하지만..ㅡㅡ)
m_MyAdodb.m_pComm->CommandText = “Select * From Test_Tbl where 어쩌고 저쩌고”;
try
{
m_MyAdodb.m_pRs = m_MyAdodb.m_pComm->Execute(NULL,NULL,adCmdText); // 저장된 select문을 수행합니다.
}
catch(…)
{ // 에러일 경우 메세지 박스를 출력하고 조회 작업을 종료해 버립니다.(에러가 날 경우는 거의 없습니다.)
MessageBox(“조회 오류!”, “SIMPLEDB”, MB_ICONSTOP);
return;
}
// 결과가 존재하지 않음
if(m_MyAdodb.m_pRs->adoEOF)
{
m_MyAdodb.m_pRs->Close(); // 레코드셋을 닫는다.(항상 레코드셋 오픈 후엔 닫아주는 작업을 수행해야 합니다.)
MessageBox(“조건에 맞는 데이터가 없습니다.”, “SIMPLEDB”, MB_ICONINFORMATION);
return;
}
_variant_t Field_1; // 필드명입니다.(알맞은 필드명을 나열하십시요)
_variant_t Field_2; // 필드명입니다.
char szField1[10+1]
= {‘\0’,}; // 필드명과 1:1대응하게 변수를 선언하십시요
char szField2[10+1] = {‘\0’,};
// 조회된 레코드의 끝까지 루핑을 돌며 데이터를 확인합니다.
while(!m_MyAdodb.m_pRs->adoEOF)
{
Field_1 = m_MyAdodb.m_pRs->Fields->GetItem(“field_1”)->GetValue(); // 해당 필드를 선언한 variant변수에 저장합니다.
Field_2 = m_MyAdodb.m_pRs->Fields->GetItem(“field_2”)->GetValue();
strcpy(szField1, (char*)((_bstr_t)Field_1)); // 저장된 variant변수를 조작이 편한 char변수에 복사합니다.
strcpy(szField2, (char*)((_bstr_t)Field_2));
// 리스트 컨트롤을 추가하셨거나 화면에 출력하실 생각이 있으시다면
// 루핑을 돌리며 값을 채워넣는 작업을 이부분에서 하시면 됩니다.
m_MyAdodb.m_pRs->MoveNext(); // 레코드셋을 다음으로 이동시킵니다.
}
m_MyAdodb.m_pRs->Close(); // 레코드셋을 닫아줍니다.
그림으로 해보면..
4.Update를 해보겠습니다.
_variant_t LRowCount; // Update가 적용된 레코드의 로우수
long lrowcount = 0; // 적용된 variant형을 레코드의 로우수 저장
char CommandString[400+1]={‘\0’,};
strcpy(CommandString, “Update Test_Tbl set Field_1 =’01’, Field_2=’02’ Where User=’senosora'”); // 알맞는 update쿼리를 적용하십시요.
m_MyAdodb.m_pComm->CommandText = CommandString;
try
{
m_MyAdodb.m_pComm->Execute(&LRowCount,NULL,adCmdText); // Update 실행
}
catch(…)
{
// 에러일 경우 메세지 박스를 출력하고 update 작업을 종료해 버립니다.(에러가 날 경우는 update문 오류.)
MessageBox(“Update 오류!”, “SIMPLEDB”, MB_ICONSTOP);
return;
}
lrowcount = atol((char*)((_bstr_t)LRowCount)); // variant형을 long형에 저장
if(lrowcount == 0) // 업데이트된게 없다.
{
MessageBox(“Update 적용된 레코드 없음!”, “SIMPLEDB”, MB_ICONSTOP);
return;
}
여기까지입니다.
제 지식이 DB에 관해 command객체는 어떠어떠하고 레코드셋은 어떠하며 속도가 어떻다라 논할 실력이 된다면야 좋겠지만
그렇다고 책을 그대로 베껴놓을수도 없고.. 해서 배경지식은 적지 못했습니다.
틀린점이 있다면 바로잡아 주시면 감사하겠습니다.
첨부되는 파일은 실행하면 DB가 없으니..에러가 납니다.
그냥 눈으로 보시면 이해가 빠르지 않을까 싶어 첨부합니다.
테스트 하시려면 DB구성부터 하셔야 합니다.
근데.. 주절 주절 해놓고 보니 어째 더 복잡해보이는군요.ㅡㅡ
MYSQL을 사용하시려면 DB연결부분만 MYSQL로 변경해주시면 동일하게 사용이 가능합니다.
추가 : 대충 이런식으로 알고 있습니다. mysql을 잘 모르는데.. localhost라면 mysql은 pwd를 안넣더군요..
// MySql
strcpy(ConStr,”Driver={MySQL};server=”);
strcat(ConStr,DBIP);
if(strcmp(DBIP, “localhost”) == 0)
{
strcat(ConStr,”;Uid=root;pwd=;Database=yourdbname”);
}
else
{
strcat(ConStr,”;Uid=root;pwd=yourpassword;Database=yourdbname”);
}
pConn = _ConnectionPtr(“ADODB.Connection”);
pRS = _RecordsetPtr(“ADODB.Recordset”);
pRS->CursorType = adOpenDynamic;
pComm = NULL;
pConn->ConnectionString = ConStr; // 접속 스트링 설정.
try
{
pConn->Open(“”,””,””, adConnectUnspecified);
}catch(_com_error &e)
{
_bstr_t bstrSource(e.Source());
_bstr_t bstrDescription(e.Description());
AfxMessageBox(“MySQL DB 접속 에러”);
exit(1);
}
pComm.CreateInstance(__uuidof(Command));
pComm->ActiveConnection = pConn;
pComm->CommandType = adCmdText;
}
the g
even g
just g
https://tinyurl.com/rsacwgxy g
Stacie Everroad
Mireille Colomy
http://tinyurl.com/cbd-oil-that-works-2020
Lizbeth Pea
Delphine Belay
Domenica Kukucka
tinyurl.com
adreamoftrains web hosting companies
win money games free
Leora Cheatom
Mackenzie Albor
Go Here
Carola Hengst
Tamera Stimmel
Joe Livoti
Commercial cleaning company
Kira Baun
Florida Josephson
Maud Velverton
Pilar Dyring
Joane Cooler
roadside assistance
Maggie Mcvinney
Rosette Delmuro
hop over to this site
Farrah Givant
digital marketing kit
Caprice Hornaday
Anisa Romness
Jerrica Woolridge
Joi Mcclure
White glove delivery
Audra Edouard
porno
Sylvia Brenek
Bess Bartnett
Jolanda Cistrunk
home remodeling images
마사지구인구직
Kasandra Procell
Vennie Mccutcheon
Martine Kozeyah
Tamekia Reinholdt
foundation repair guide
Nicola Dargie
plumbing and heating my review here
buy Instagram likes hacklink
premierzen near me
Groundbreaking Report on VitalFlow for Prostate
blue rhino pill 50k
무료 스핀 슬롯
Kyra
plumbing companies read the full info here
Glennie
this post
Catheryn
Ancheer Bicicletas eléctricas en venta
Crystle
Uglyfrog Mountain Bike Jackets/Jerseys for sale
안전사이트
Annalisa
Colette Costain
Final mile delivery
Lanora Reising
Cristi Bullman
Melany
Marlo Sparrow
안전한 놀이터
라이브 베팅
Katia Javier
슬롯
Pretty Gaming
Raleigh Yoakum
Vanetta Samaha
Melany Biddleman
weekender
Meri Spease
Jarod Willmarth
Amberly Divento
free horror
Leanna Misumi
摩托車
Stephanie Lawter
naughty christmas gifts
Johnetta Eavey
University Furnishings Relaxed Collection
Lilia Highberger
AK-47 Autoflowering Feminized Cannabis Seeds
Shannan Kenaan
sexy purple lingerie
plus size hold ups
bluetooth sex toy
this website bestnewsviral.com
Skincell Pro Benefits
ProstaStream Benefits
Bernetta Czapla
open mouth gag
thong lingerie
Office moving company
Dunkin Lyss
출장안마
Eileen Chinnis
Adrian Weiden
Christin Chandley
find this
Paige Scherzer
Synapse XT Ingredients side effects
Ja Putnal
plumbing repair why not try this out
game news
Juliette Duett
click to find out more electrician contractor
Seema Dlouhy
Go Here 365planetnews.com
best app for cheap flights
usine bois
Esmeralda Pervis
porno
Latrina Belshaw
Latoria Wyont
Ossie Terbush
electronics sales daily
Shanel Melcher
Laurence Rataczak
Jamila Jackman
Rena Malave
Georgann Osche
Tequila Wehmeier
NYC
Yulanda Wadlinger
How does Bio Melt Pro work?
Paige Revelez
Markus Guinan
Lovie Horns
Cira Copps
Leonida April
official site electrician free estimate
plumbing companies description
their website 336news.com
Ronda Fetherolf
Mai Pestana
see post legal-news-central.com
Lita Stever
read the full info here 9janewswatch.com
Brianna Chasen
water delivery
Gertha Burkhardt
Rolf Caiafa
Felicita Wojtak
Maryland mirror installation
more info here all new sharings
Camie Jones
Shy Bladder Guy
Annamae Relkin
Herpesyl ingredients
this post breachingnews.com
Cristy Mehr
Doretha Gansen
Janean
Fransisca Mugrage
Shanice Eaddy
Skincell Pro Review
Marissa Hoffmann
Shiloh Gabaree
Cher Sanes
additional hints breachingnews.com
Lesia Baldwin
Babara Oldenburg
Salome Sooy
straight from the source backwardsnewsreport.com
Vernice Wallach
Venetta Vandal
Patria Quinoes
click over here now b2dnews.com
Dede Brodell
Anamaria Otiz
splendid spoon vs purple carrot
rhino men pills
visit my profile
what is online marketing give examples?
Paz Krushansky
Tandra Macdonnell
Moira Boyce
Portia Arelleano
Reversirol
Valorie Limmel
Rivka Boutet
Wilhemina Zoda
Janie Greek
Jobs offered
Gerry Sauder
Christiane Splain
check out this website about best property insurance
Yevette Pahulu
Tiffanie Bieberle
gaming news
Meda Difusco
blog link Baria Vungtau News
Mertie Door
TV wall installers
Travis Delerme
click resources Aanewshop.com
Elayne Rendler
Sylvia Parsh
find here biz market news
Necole Sharpey
Alline Yarnall
Home Page Faso Times
how did purple carrots turn orange
use this link Athanews.com
Delmy Ravitz
official website Achounews.com
Onita Passineau
check it out ArvoNews.com
read this BrawlerNews.com
Babara Braucks
have a peek at this website phtimesng.com
Denise Younis
대전출장마사지
want to see more
Annalisa Ostrem
advantage appliance repair charlotte nc
Leesa Micha
Agatha Shumski
Office movers
Glory Michalec
go to this website BM Sport News
a knockout post amarishwardinews24.com
Karan Fitzgerrel
Theda Peverini
YouTube Guy
Vanessa Fredin
basics Boud News
Carlotta Valek
Sheryll Schoenecker
Tonda Clarey
Lyndsey Steinerkert
click here to investigate Bravenewspaper.com
Lanita Gardon
Belia Lomago
Check Out Your URL ArvoNews.com
Esmeralda Nallie
Assunta Schleker
Sharee Birkenmeier
Melanie Quiroga
Continued Blog1 News
Mariella Gertsen
Deja Eppihimer
Roxanna Waiau
Kali Plessner
Source 4News4You.com
Jerrie Bonugli
Jaimee Rayman
Christeen Boldwyn
Tula Sielaff
go to website BMSportNews.com
Isabella Gravina
useful site BizMarketNews.com
see here Aajnewsok.com
MP3 Dönüştürücü}
918kiss
Melodi
FB88 moi nhat
Alexandra
what is needed to start golfing?
lilchiipmunk
Moon Roth
click this site AcademyWebNews.com
lilchiipmunk
Roy Macdowell
Mona Prinkey
Golden Zaker
why not try this out americanvalvenews.com
Casey Botterbusch
sexy milfs fucking hard
Bonuses FreeTownDailyNews.com
Tiffanie Kleyman
milf crying anal
Tiffanie Bieberle
special info 0751SGnews.com
Nereida Arb
milf nina hartley
Hannah Gianopoulos
Jenny Robichaud
Mini Kamera
Teodora Puls
milf masturbation movies
link icetimesmagazine.com
Marquitta Lytle
free porn milf creampie
this link BizMarketNews.com
Samira Ellingwood
milf sex pictures
Jeremy Spiller
Leeanna Okutsu
pop over to these guys BurkinaTimes.com
Almeda Magera
best of anthony milford
Ayako Oates
go right here brain wave live
Drusilla Dirkse
Youlanda Schaffhauser
구미출장마사지
reference all news nepal
browse around this website aionews9.com
More hints 51kannews.com
Check Out Your URL adn news 24
Website AngolaPostNews.com
her comment is here Allgonews.com
visit the site Bombernews.com
her latest blog Botapracorrer News
check my reference ajdnews.com
see post Botapracorrernews.com
important link All Go News
Margrett Rudlong
why use a brand overview video
read here legalorium.com
Shawnna Berntsen
Mari Contrell
other BackStretchNews.com
Teodora Enriques
hop over to this web-site BreachingNews.com
Joe Skidmore
Michelina Babbs
visit this website IceTimesMagazine.com
Jeni Leslie
Hayley Langholz
Fredricka Swinford
Home Page Suburbanews.com
Jenelle Knuth
Lavern Haessly
Anneliese Balkey
Clicking Here RadScienceTimes.com
Caterina Wisnosky
browse around here CallCentreNews.com
browse around these guys AdnNews.com
Eric Pacholec
Jesenia Birks
try this site AustralNews.com
how to open your own bank
Shu Rehling
i thought about this Aionews.com
Janelle Dollison
Joane Dannatt
content Phitmesng.com
view publisher site Fasotimes.com
Manie Maglori
Sandie Veleta
why not check here Brainwavelive.com
Daisey Hitzler
Patrina Stanely
description BitarkaNews.com
Celinda Menninger
Joya Beckerle
Mirror installers
Mirror installation
일산요정
Cannabis Seed Variety Packs
Click This Link Baria-VungtauNews.com
i loved this ScaldingCoffee.com
find more information bestnewsup.com
check my site LegalOrium.com
Clicking Here Pro-Tec-Insider.com
find out here 247realnews.com
check these guys out AttockCityNews.com
video marketing agency in bronx
Shaina Weide
Ashely Loran
Heidy Grosshans
Tiera Hasencamp
our website ajdnews.com
Christal Bernal
Doria Avellano
find out here now Bitarka News
Soo Mckin
Vicky Freer
find out here 336News.com
Kelsi Zaic
view website Bergamowebnews.com
Lourie Bridgers
blog here 891news.com
Tyler Helf
Carolynn Simonis
Derek Norrell
nursery closet dividers
her response B2Dnews.com
Pingback: Skrota bil
포항출장안마
pop over here a7news.com
Joan Newbern
garlic pills non gmo
Sheri Cyr
golf so
Micki Missler
Florinda Hinesley
Teresa Gannoe
best porn forums
Minnie Loar
Richelle Gingues
Evelyne Peyer
Tenth Bitcoin investment
Inge Breitweiser
Jessi Decurtis
Elliptical movers
Annemarie Trayler
Lien Schellhase
Jacqueline Palys
browse this site 0913news.com
Veda Schwartzwalde
Miriam Cronk
Florida Pest Control
Jeanna Lomboy
situs idn poker online
Rosy Flora
trusted bitcoin investment sites 2020 minimum bitcoin investment
Judith Rothweiler
lake havasu golf club scorecard
Argentina Medus
Alana Olmeda
Aleisha Beachell
what are all the golf terms?
find more callcentrenews.com
Johnny Shivel
canadian pharmacies that ship to us
Leighann Argenziano
Braiding salon
Jacquelyne Appelgate
why is it called a bunker in golf?
Jolyn Hardigree
Lorette Hemsworth
Kathi Decoursey
porn list
Marla Spore
Nancy Goldberger
More about the author Blog1News.com
Laure Pizzo
Denny Pronto
Shirly Vanalstine
Dorthy Blonsky
schlüsselnotdienst
Rhiannon Gosden
Kizzie Lecher
movies123
Карабах это Азербайджан
Almeda Rubendall
directory Legal-News-Central.com
Micah Jeffords
Isela Wrobleski
Else Iafrate
Tori Graise
Katerine Awender
reference 336News.com
Hisako Schnaible
Treena Janousek
VN88
resolved plumbing
Apartment movers
Dovie Israelson
Virginia braiding salon
메리트카지노
fuck ass
Elsa Mayhood
Rafael Slatten
Rumah bsd
Elizbeth Bellemare
Temple Updyke
Cassandra Nix
Reagan Cassidy
business video projectors
Maud Leimkuehler
Check out
Esther Odems
Porn 55
Danyel Swilley
funny pets
video projectors from phone to computer that can be used with bluetooth or usb port
Gwen Woytowich
Letou
how many freshwater fish species are there in the uk?
Ernestine Letscher
Consuela Goffinet
포항출장후불
buy youtube views
Maudie Ohair
Garnet Wootton
Enriqueta Ptacek
Lasonya Frago
buy instagram likes
Toshiko Hinchee
Buy Instagram Followers
Ladawn Reade
how can i get viagra without going to the doctor
Dena Pereiro
Rubi Hayhoe
introduction to yoga
Krystal Braner
W88
Karmen Sloan
what is a ebook and how does it work
Britany Muller
generic viagra without a doctor prescription usa
Novella Timenez
VN88city
Kiana Dalene
Phebe Warens
Alida Space
Alita Laflamme
buy instagram views
Elba Abbasi
john abraham body building
hvac labor warranty
jenis judi online
Supplemental Insurance
gaming news
https://xn--bodposten-n8a.no/et-rattent-vitne-hver-deltager-i-norebo-saken-spiller-sin-egen-rolle-i-hoyesterett-i-london/
Michel Cridland
look at here
cosplayo.com
Kenisha Luczkowiak
Layne Wenker
Fran Cavaness
เว็บโกงชักดาบ
cbd oil certified potency
구찌출장안마
Corazon Lourence
구찌출장
Arnetta Azzano
view webvideo
Maris Repka
Los Angeles Trademark Lawyer
Johnsie Llopis
sisteme de copiat
안전놀이터
Magdalene Fetchko
Gazebo assembly service
Nam Fairall
cialis manufacturer website
Marisela Ominelli
chris aggio plumber
preston plumber
Bobbi Delcampo
buy cheap kamagra tablets
Venice Sheil
百家樂
Gabriele Braley
꽁머니
Krysten Bailiff
local plumbers Gawler
Calista Zetina
꽁머니
Brittney Eagar
Affiliate Marketing Guy
Marcelle Stelter
cialis implant
Hortensia Zeran
Ena Lamfers
Professional Plumber Gawler
Annalisa Peper
how to get cialis prescription
Ocie Fugatt
출장마사지
Homepage best plumbing guildford
Fang Wallet
Remedios Pezzulo
akun judi online
Trudy Ilarraza
see it here Professional Plumber Manly
Yadira Gleicher
구찌출장
Patti Holloman
Rhonda Warmath
William Sarzynski
Grisel Calfee
구찌출장
Cinda Barrington
does prednisone rase your heart rate
Kimbery Caceres
메이저사이트
Lois Giffin
judi online terpercaya
Jasmine Them
best patreon alternative
Dakota Mumbower
Vilma Bradfield
postmates promo code 100 dollars off
Exie Perng
Elane
Harley Pikey
Myrta Villaluazo
עדי שלג
Roma Kasky
Pat Kushaney
Alisa Strutton
tadalafil and tamsulosin and blood pressure
Melodie Leonetti
Lavette Eckstrom
Madelyn Gillentine
Gisela Lacerte
Los Angeles Copyright Lawyer
Manuela Baugh
Kandace Hawse
baby travel systems
Talitha Deem
Kiersten Weckhorst
Lily Selvy
http://www.apsia.it/index.php?option=com_k2&view=itemlist&task=user&id=776950
generic viagra white pill
IDGod
Home Business
เว็บพนันออนไลน์ 88
구찌 출장마사지
Noelle Kuchler
have a peek at this website - heating and cooling gainesville texas
Asuncion Winkenwerder
cheap viagra online
Deedra Sixtos
Real Madrid
Jenine Bertin
Plumbing Services San Diego important source
Health Insurance Online
William Futch
Jacquelynn Moribayed
Janice Kirchen
check it out commercial plumbers guildford
Jestine Pluvoise
บาคาร่าออนไลน์เล่นยังไง
get prescription for viagra
Immigration Law West Palm Beach
Norbert Koogler
zahnärzte in düsseldorf
Patria Bordinger
Telma Aronson
Immigration Lawfirm Miami
Elfreda Chean
badezimmer sanieren
Shavon Mcnutty
Jenine Laine
โต๊ะเสือมังกร
Margie Kolkhorst
sildenafil how to stop diarrhea
Angelina Kebert
Nelida Achilles
Caitlin Tudman
Visit Profile