| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461 |
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>FMDatabase Class Reference</title>
- <link rel="stylesheet" href="../css/style.css">
- <meta name="viewport" content="initial-scale=1, maximum-scale=1.4">
- <meta name="generator" content="appledoc 2.2.1 (build 1333)">
- </head>
- <body class="appledoc">
- <header>
- <div class="container" class="hide-in-xcode">
-
- <h1 id="library-title">
- <a href="../index.html">FMDB </a>
- </h1>
- <p id="developer-home">
- <a href="../index.html">ccgus</a>
- </p>
-
- </div>
- </header>
- <aside>
- <div class="container">
- <nav>
- <ul id="header-buttons" role="toolbar">
- <li><a href="../index.html">Index</a></li>
- <li><a href="../hierarchy.html">Hierarchy</a></li>
- <li id="on-this-page" role="navigation">
- <label>
- On This Page
- <div class="chevron">
- <div class="chevy chevron-left"></div>
- <div class="chevy chevron-right"></div>
- </div>
- <select id="jump-to">
- <option value="top">Jump To…</option>
-
- <option value="overview">Overview</option>
-
-
-
- <option value="tasks">Tasks</option>
-
-
-
-
- <optgroup label="Properties">
-
- <option value="//api/name/cachedStatements">cachedStatements</option>
-
- <option value="//api/name/checkedOut">checkedOut</option>
-
- <option value="//api/name/crashOnErrors">crashOnErrors</option>
-
- <option value="//api/name/logsErrors">logsErrors</option>
-
- <option value="//api/name/traceExecution">traceExecution</option>
-
- </optgroup>
-
-
- <optgroup label="Class Methods">
-
- <option value="//api/name/databaseWithPath:">+ databaseWithPath:</option>
-
- <option value="//api/name/isSQLiteThreadSafe">+ isSQLiteThreadSafe</option>
-
- <option value="//api/name/sqliteLibVersion">+ sqliteLibVersion</option>
-
- <option value="//api/name/storeableDateFormat:">+ storeableDateFormat:</option>
-
- </optgroup>
-
-
- <optgroup label="Instance Methods">
-
- <option value="//api/name/beginDeferredTransaction">- beginDeferredTransaction</option>
-
- <option value="//api/name/beginTransaction">- beginTransaction</option>
-
- <option value="//api/name/changes">- changes</option>
-
- <option value="//api/name/clearCachedStatements">- clearCachedStatements</option>
-
- <option value="//api/name/close">- close</option>
-
- <option value="//api/name/closeOpenResultSets">- closeOpenResultSets</option>
-
- <option value="//api/name/commit">- commit</option>
-
- <option value="//api/name/databasePath">- databasePath</option>
-
- <option value="//api/name/dateFromString:">- dateFromString:</option>
-
- <option value="//api/name/executeQuery:">- executeQuery:</option>
-
- <option value="//api/name/executeQuery:withArgumentsInArray:">- executeQuery:withArgumentsInArray:</option>
-
- <option value="//api/name/executeQuery:withParameterDictionary:">- executeQuery:withParameterDictionary:</option>
-
- <option value="//api/name/executeQueryWithFormat:">- executeQueryWithFormat:</option>
-
- <option value="//api/name/executeStatements:">- executeStatements:</option>
-
- <option value="//api/name/executeStatements:withResultBlock:">- executeStatements:withResultBlock:</option>
-
- <option value="//api/name/executeUpdate:">- executeUpdate:</option>
-
- <option value="//api/name/executeUpdate:withArgumentsInArray:">- executeUpdate:withArgumentsInArray:</option>
-
- <option value="//api/name/executeUpdate:withErrorAndBindings:">- executeUpdate:withErrorAndBindings:</option>
-
- <option value="//api/name/executeUpdate:withParameterDictionary:">- executeUpdate:withParameterDictionary:</option>
-
- <option value="//api/name/executeUpdate:withVAList:">- executeUpdate:withVAList:</option>
-
- <option value="//api/name/executeUpdateWithFormat:">- executeUpdateWithFormat:</option>
-
- <option value="//api/name/goodConnection">- goodConnection</option>
-
- <option value="//api/name/hadError">- hadError</option>
-
- <option value="//api/name/hasDateFormatter">- hasDateFormatter</option>
-
- <option value="//api/name/hasOpenResultSets">- hasOpenResultSets</option>
-
- <option value="//api/name/inSavePoint:">- inSavePoint:</option>
-
- <option value="//api/name/inTransaction">- inTransaction</option>
-
- <option value="//api/name/initWithPath:">- initWithPath:</option>
-
- <option value="//api/name/lastError">- lastError</option>
-
- <option value="//api/name/lastErrorCode">- lastErrorCode</option>
-
- <option value="//api/name/lastErrorMessage">- lastErrorMessage</option>
-
- <option value="//api/name/lastInsertRowId">- lastInsertRowId</option>
-
- <option value="//api/name/makeFunctionNamed:maximumArguments:withBlock:">- makeFunctionNamed:maximumArguments:withBlock:</option>
-
- <option value="//api/name/open">- open</option>
-
- <option value="//api/name/openWithFlags:">- openWithFlags:</option>
-
- <option value="//api/name/rekey:">- rekey:</option>
-
- <option value="//api/name/rekeyWithData:">- rekeyWithData:</option>
-
- <option value="//api/name/releaseSavePointWithName:error:">- releaseSavePointWithName:error:</option>
-
- <option value="//api/name/rollback">- rollback</option>
-
- <option value="//api/name/rollbackToSavePointWithName:error:">- rollbackToSavePointWithName:error:</option>
-
- <option value="//api/name/setDateFormat:">- setDateFormat:</option>
-
- <option value="//api/name/setKey:">- setKey:</option>
-
- <option value="//api/name/setKeyWithData:">- setKeyWithData:</option>
-
- <option value="//api/name/setShouldCacheStatements:">- setShouldCacheStatements:</option>
-
- <option value="//api/name/shouldCacheStatements">- shouldCacheStatements</option>
-
- <option value="//api/name/sqliteHandle">- sqliteHandle</option>
-
- <option value="//api/name/startSavePointWithName:error:">- startSavePointWithName:error:</option>
-
- <option value="//api/name/stringFromDate:">- stringFromDate:</option>
-
- <option value="//api/name/update:withErrorAndBindings:">- update:withErrorAndBindings:</option>
-
- </optgroup>
-
-
- </select>
- </label>
- </li>
- </ul>
- </nav>
- </div>
- </aside>
- <article>
- <div id="overview_contents" class="container">
- <div id="content">
- <main role="main">
- <h1 class="title">FMDatabase Class Reference</h1>
-
- <div class="section section-specification"><table cellspacing="0"><tbody>
- <tr>
- <th>Inherits from</th>
- <td>NSObject</td>
- </tr><tr>
- <th>Declared in</th>
- <td>FMDatabase.h</td>
- </tr>
- </tbody></table></div>
-
-
-
- <div class="section section-overview">
- <a title="Overview" name="overview"></a>
- <h2 class="subtitle subtitle-overview">Overview</h2>
- <p>A SQLite (<a href="http://sqlite.org/">http://sqlite.org/</a>) Objective-C wrapper.</p>
- <h3>Usage</h3>
- <p>The three main classes in FMDB are:</p>
- <ul>
- <li><code>FMDatabase</code> - Represents a single SQLite database. Used for executing SQL statements.</li>
- <li><a href="../Classes/FMResultSet.html"><code>FMResultSet</code></a> - Represents the results of executing a query on an <code>FMDatabase</code>.</li>
- <li><a href="../Classes/FMDatabaseQueue.html"><code>FMDatabaseQueue</code></a> - If you want to perform queries and updates on multiple threads, you’ll want to use this class.</li>
- </ul>
- <h3>See also</h3>
- <ul>
- <li><a href="../Classes/FMDatabasePool.html"><code>FMDatabasePool</code></a> - A pool of <code>FMDatabase</code> objects.</li>
- <li><a href="../Classes/FMStatement.html"><code>FMStatement</code></a> - A wrapper for <code>sqlite_stmt</code>.</li>
- </ul>
- <h3>External links</h3>
- <ul>
- <li><a href="https://github.com/ccgus/fmdb">FMDB on GitHub</a> including introductory documentation</li>
- <li><a href="http://sqlite.org/">SQLite web site</a></li>
- <li><a href="http://groups.google.com/group/fmdb">FMDB mailing list</a></li>
- <li><a href="http://www.sqlite.org/faq.html">SQLite FAQ</a></li>
- </ul>
- <div class="warning"><p><strong>Warning:</strong> Do not instantiate a single <code>FMDatabase</code> object and use it across multiple threads. Instead, use <a href="../Classes/FMDatabaseQueue.html"><code>FMDatabaseQueue</code></a>.</p></div>
- </div>
-
-
-
-
- <div class="section section-tasks">
- <a title="Tasks" name="tasks"></a>
-
- <a title="Properties" name="task_Properties"></a>
- <h2 class="task-title">Properties</h2>
- <div class="task-list">
- <div class="section-method">
- <a name="//api/name/traceExecution" title="traceExecution"></a>
- <h3 class="method-title"><code><a href="#//api/name/traceExecution"> traceExecution</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Whether should trace execution</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>@property (atomic, assign) BOOL traceExecution</code></div>
-
-
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Whether should trace execution</p>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/checkedOut" title="checkedOut"></a>
- <h3 class="method-title"><code><a href="#//api/name/checkedOut"> checkedOut</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Whether checked out or not</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>@property (atomic, assign) BOOL checkedOut</code></div>
-
-
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Whether checked out or not</p>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/crashOnErrors" title="crashOnErrors"></a>
- <h3 class="method-title"><code><a href="#//api/name/crashOnErrors"> crashOnErrors</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Crash on errors</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>@property (atomic, assign) BOOL crashOnErrors</code></div>
-
-
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Crash on errors</p>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/logsErrors" title="logsErrors"></a>
- <h3 class="method-title"><code><a href="#//api/name/logsErrors"> logsErrors</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Logs errors</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>@property (atomic, assign) BOOL logsErrors</code></div>
-
-
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Logs errors</p>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/cachedStatements" title="cachedStatements"></a>
- <h3 class="method-title"><code><a href="#//api/name/cachedStatements"> cachedStatements</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Dictionary of cached statements</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>@property (atomic, retain) NSMutableDictionary *cachedStatements</code></div>
-
-
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Dictionary of cached statements</p>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div>
- </div>
-
- <a title="Initialization" name="task_Initialization"></a>
- <h2 class="task-title">Initialization</h2>
- <div class="task-list">
- <div class="section-method">
- <a name="//api/name/databaseWithPath:" title="databaseWithPath:"></a>
- <h3 class="method-title"><code><a href="#//api/name/databaseWithPath:">+ databaseWithPath:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Create a <code>FMDatabase</code> object.</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>+ (instancetype)databaseWithPath:(NSString *)<em>inPath</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>inPath</code></th>
- <td><p>Path of database file</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>FMDatabase</code> object if successful; <code>nil</code> if failure.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Create a <code>FMDatabase</code> object.</p>
- <p>An <code>FMDatabase</code> is created with a path to a SQLite database file. This path can be one of these three:</p>
- <ol>
- <li>A file system path. The file does not have to exist on disk. If it does not exist, it is created for you.</li>
- <li>An empty string (<code>@""</code>). An empty database is created at a temporary location. This database is deleted with the <code>FMDatabase</code> connection is closed.</li>
- <li><code>nil</code>. An in-memory database is created. This database will be destroyed with the <code>FMDatabase</code> connection is closed.</li>
- </ol>
- <p>For example, to create/open a database in your Mac OS X <code>tmp</code> folder:</p>
- <pre><code>FMDatabase *db = [FMDatabase databaseWithPath:@"/tmp/tmp.db"];
- </code></pre>
- <p>Or, in iOS, you might open a database in the app’s <code>Documents</code> directory:</p>
- <pre><code>NSString *docsPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
- NSString *dbPath = [docsPath stringByAppendingPathComponent:@"test.db"];
- FMDatabase *db = [FMDatabase databaseWithPath:dbPath];
- </code></pre>
- <p>(For more information on temporary and in-memory databases, read the sqlite documentation on the subject: <a href="http://www.sqlite.org/inmemorydb.html">http://www.sqlite.org/inmemorydb.html</a>)</p>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/initWithPath:" title="initWithPath:"></a>
- <h3 class="method-title"><code><a href="#//api/name/initWithPath:">– initWithPath:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Initialize a <code>FMDatabase</code> object.</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (instancetype)initWithPath:(NSString *)<em>inPath</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>inPath</code></th>
- <td><p>Path of database file</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>FMDatabase</code> object if successful; <code>nil</code> if failure.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Initialize a <code>FMDatabase</code> object.</p>
- <p>An <code>FMDatabase</code> is created with a path to a SQLite database file. This path can be one of these three:</p>
- <ol>
- <li>A file system path. The file does not have to exist on disk. If it does not exist, it is created for you.</li>
- <li>An empty string (<code>@""</code>). An empty database is created at a temporary location. This database is deleted with the <code>FMDatabase</code> connection is closed.</li>
- <li><code>nil</code>. An in-memory database is created. This database will be destroyed with the <code>FMDatabase</code> connection is closed.</li>
- </ol>
- <p>For example, to create/open a database in your Mac OS X <code>tmp</code> folder:</p>
- <pre><code>FMDatabase *db = [FMDatabase databaseWithPath:@"/tmp/tmp.db"];
- </code></pre>
- <p>Or, in iOS, you might open a database in the app’s <code>Documents</code> directory:</p>
- <pre><code>NSString *docsPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
- NSString *dbPath = [docsPath stringByAppendingPathComponent:@"test.db"];
- FMDatabase *db = [FMDatabase databaseWithPath:dbPath];
- </code></pre>
- <p>(For more information on temporary and in-memory databases, read the sqlite documentation on the subject: <a href="http://www.sqlite.org/inmemorydb.html">http://www.sqlite.org/inmemorydb.html</a>)</p>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div>
- </div>
-
- <a title="Opening and closing database" name="task_Opening and closing database"></a>
- <h2 class="task-title">Opening and closing database</h2>
- <div class="task-list">
- <div class="section-method">
- <a name="//api/name/open" title="open"></a>
- <h3 class="method-title"><code><a href="#//api/name/open">– open</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Opening a new database connection</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)open</code></div>
-
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> if successful, <code>NO</code> on error.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Opening a new database connection</p>
- <p>The database is opened for reading and writing, and is created if it does not already exist.</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="http://sqlite.org/c3ref/open.html">sqlite3_open()</a></p></code></li>
-
- <li><code><p><a href="#//api/name/openWithFlags:">- openWithFlags:</a></p></code></li>
-
- <li><code><p><a href="#//api/name/close">- close</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/openWithFlags:" title="openWithFlags:"></a>
- <h3 class="method-title"><code><a href="#//api/name/openWithFlags:">– openWithFlags:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Opening a new database connection with flags</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)openWithFlags:(int)<em>flags</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>flags</code></th>
- <td><p>one of the following three values, optionally combined with the <code>SQLITE_OPEN_NOMUTEX</code>, <code>SQLITE_OPEN_FULLMUTEX</code>, <code>SQLITE_OPEN_SHAREDCACHE</code>, <code>SQLITE_OPEN_PRIVATECACHE</code>, and/or <code>SQLITE_OPEN_URI</code> flags:</p>
- <p><code>SQLITE_OPEN_READONLY</code></p>
- <p>The database is opened in read-only mode. If the database does not already exist, an error is returned.</p>
- <p><code>SQLITE_OPEN_READWRITE</code></p>
- <p>The database is opened for reading and writing if possible, or reading only if the file is write protected by the operating system. In either case the database must already exist, otherwise an error is returned.</p>
- <p><code>SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE</code></p>
- <p>The database is opened for reading and writing, and is created if it does not already exist. This is the behavior that is always used for <code>open</code> method.</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> if successful, <code>NO</code> on error.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Opening a new database connection with flags</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="http://sqlite.org/c3ref/open.html">sqlite3_open_v2()</a></p></code></li>
-
- <li><code><p><a href="#//api/name/open">- open</a></p></code></li>
-
- <li><code><p><a href="#//api/name/close">- close</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/close" title="close"></a>
- <h3 class="method-title"><code><a href="#//api/name/close">– close</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Closing a database connection</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)close</code></div>
-
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> if success, <code>NO</code> on error.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Closing a database connection</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="http://sqlite.org/c3ref/close.html">sqlite3_close()</a></p></code></li>
-
- <li><code><p><a href="#//api/name/open">- open</a></p></code></li>
-
- <li><code><p><a href="#//api/name/openWithFlags:">- openWithFlags:</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/goodConnection" title="goodConnection"></a>
- <h3 class="method-title"><code><a href="#//api/name/goodConnection">– goodConnection</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Test to see if we have a good connection to the database.</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)goodConnection</code></div>
-
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> if everything succeeds, <code>NO</code> on failure.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Test to see if we have a good connection to the database.</p>
- <p>This will confirm whether:</p>
- <ul>
- <li>is database open</li>
- <li>if open, it will try a simple SELECT statement and confirm that it succeeds.</li>
- </ul>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div>
- </div>
-
- <a title="Perform updates" name="task_Perform updates"></a>
- <h2 class="task-title">Perform updates</h2>
- <div class="task-list">
- <div class="section-method">
- <a name="//api/name/executeUpdate:withErrorAndBindings:" title="executeUpdate:withErrorAndBindings:"></a>
- <h3 class="method-title"><code><a href="#//api/name/executeUpdate:withErrorAndBindings:">– executeUpdate:withErrorAndBindings:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Execute single update statement</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)executeUpdate:(NSString *)<em>sql</em> withErrorAndBindings:(NSError **)<em>outErr</em>, <em>...</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>sql</code></th>
- <td><p>The SQL to be performed, with optional <code>?</code> placeholders.</p></td>
- </tr>
-
- <tr>
- <th scope="row" class="argument-name"><code>outErr</code></th>
- <td><p>A reference to the <code>NSError</code> pointer to be updated with an auto released <code>NSError</code> object if an error if an error occurs. If <code>nil</code>, no <code>NSError</code> object will be returned.</p></td>
- </tr>
-
- <tr>
- <th scope="row" class="argument-name"><code>...</code></th>
- <td><p>Optional parameters to bind to <code>?</code> placeholders in the SQL statement. These should be Objective-C objects (e.g. <code>NSString</code>, <code>NSNumber</code>, etc.), not fundamental C data types (e.g. <code>int</code>, <code>char *</code>, etc.).</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> upon success; <code>NO</code> upon failure. If failed, you can call <a href="#//api/name/lastError"><code>lastError</code></a>, <a href="#//api/name/lastErrorCode"><code>lastErrorCode</code></a>, or <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> for diagnostic information regarding the failure.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Execute single update statement</p>
- <p>This method executes a single SQL update statement (i.e. any SQL that does not return results, such as <code>UPDATE</code>, <code>INSERT</code>, or <code>DELETE</code>. This method employs <a href="http://sqlite.org/c3ref/prepare.html"><code>sqlite3_prepare_v2</code></a>, <a href="http://sqlite.org/c3ref/bind_blob.html"><code>sqlite3_bind</code></a> to bind values to <code>?</code> placeholders in the SQL with the optional list of parameters, and <a href="http://sqlite.org/c3ref/step.html"><code>sqlite_step</code></a> to perform the update.</p>
- <p>The optional values provided to this method should be objects (e.g. <code>NSString</code>, <code>NSNumber</code>, <code>NSNull</code>, <code>NSDate</code>, and <code>NSData</code> objects), not fundamental data types (e.g. <code>int</code>, <code>long</code>, <code>NSInteger</code>, etc.). This method automatically handles the aforementioned object types, and all other object types will be interpreted as text values using the object’s <code>description</code> method.</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="#//api/name/lastError">- lastError</a></p></code></li>
-
- <li><code><p><a href="#//api/name/lastErrorCode">- lastErrorCode</a></p></code></li>
-
- <li><code><p><a href="#//api/name/lastErrorMessage">- lastErrorMessage</a></p></code></li>
-
- <li><code><p><a href="http://sqlite.org/c3ref/bind_blob.html"><code>sqlite3_bind</code></a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/update:withErrorAndBindings:" title="update:withErrorAndBindings:"></a>
- <h3 class="method-title"><code><a href="#//api/name/update:withErrorAndBindings:">– update:withErrorAndBindings:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Execute single update statement</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)update:(NSString *)<em>sql</em> withErrorAndBindings:(NSError **)<em>outErr</em>, <em>...</em></code></div>
-
-
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Execute single update statement</p><div class="warning"><p><strong>Warning:</strong> <strong>Deprecated</strong>: Please use <code><executeUpdate:withErrorAndBindings></code> instead.</p></div>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="#//api/name/executeUpdate:withErrorAndBindings:">- executeUpdate:withErrorAndBindings:</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/executeUpdate:" title="executeUpdate:"></a>
- <h3 class="method-title"><code><a href="#//api/name/executeUpdate:">– executeUpdate:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Execute single update statement</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)executeUpdate:(NSString *)<em>sql</em>, <em>...</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>sql</code></th>
- <td><p>The SQL to be performed, with optional <code>?</code> placeholders.</p></td>
- </tr>
-
- <tr>
- <th scope="row" class="argument-name"><code>...</code></th>
- <td><p>Optional parameters to bind to <code>?</code> placeholders in the SQL statement. These should be Objective-C objects (e.g. <code>NSString</code>, <code>NSNumber</code>, etc.), not fundamental C data types (e.g. <code>int</code>, <code>char *</code>, etc.).</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> upon success; <code>NO</code> upon failure. If failed, you can call <a href="#//api/name/lastError"><code>lastError</code></a>, <a href="#//api/name/lastErrorCode"><code>lastErrorCode</code></a>, or <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> for diagnostic information regarding the failure.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Execute single update statement</p>
- <p>This method executes a single SQL update statement (i.e. any SQL that does not return results, such as <code>UPDATE</code>, <code>INSERT</code>, or <code>DELETE</code>. This method employs <a href="http://sqlite.org/c3ref/prepare.html"><code>sqlite3_prepare_v2</code></a>, <a href="http://sqlite.org/c3ref/bind_blob.html"><code>sqlite3_bind</code></a> to bind values to <code>?</code> placeholders in the SQL with the optional list of parameters, and <a href="http://sqlite.org/c3ref/step.html"><code>sqlite_step</code></a> to perform the update.</p>
- <p>The optional values provided to this method should be objects (e.g. <code>NSString</code>, <code>NSNumber</code>, <code>NSNull</code>, <code>NSDate</code>, and <code>NSData</code> objects), not fundamental data types (e.g. <code>int</code>, <code>long</code>, <code>NSInteger</code>, etc.). This method automatically handles the aforementioned object types, and all other object types will be interpreted as text values using the object’s <code>description</code> method.</p><div class="note"><p><strong>Note:</strong> This technique supports the use of <code>?</code> placeholders in the SQL, automatically binding any supplied value parameters to those placeholders. This approach is more robust than techniques that entail using <code>stringWithFormat</code> to manually build SQL statements, which can be problematic if the values happened to include any characters that needed to be quoted.</p></div><div class="note"><p><strong>Note:</strong> If you want to use this from Swift, please note that you must include <code>FMDatabaseVariadic.swift</code> in your project. Without that, you cannot use this method directly, and instead have to use methods such as <a href="#//api/name/executeUpdate:withArgumentsInArray:"><code>executeUpdate:withArgumentsInArray:</code></a>.</p></div>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="#//api/name/lastError">- lastError</a></p></code></li>
-
- <li><code><p><a href="#//api/name/lastErrorCode">- lastErrorCode</a></p></code></li>
-
- <li><code><p><a href="#//api/name/lastErrorMessage">- lastErrorMessage</a></p></code></li>
-
- <li><code><p><a href="http://sqlite.org/c3ref/bind_blob.html"><code>sqlite3_bind</code></a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/executeUpdateWithFormat:" title="executeUpdateWithFormat:"></a>
- <h3 class="method-title"><code><a href="#//api/name/executeUpdateWithFormat:">– executeUpdateWithFormat:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Execute single update statement</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)executeUpdateWithFormat:(NSString *)<em>format</em>, <em>...</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>format</code></th>
- <td><p>The SQL to be performed, with <code>printf</code>-style escape sequences.</p></td>
- </tr>
-
- <tr>
- <th scope="row" class="argument-name"><code>...</code></th>
- <td><p>Optional parameters to bind to use in conjunction with the <code>printf</code>-style escape sequences in the SQL statement.</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> upon success; <code>NO</code> upon failure. If failed, you can call <a href="#//api/name/lastError"><code>lastError</code></a>, <a href="#//api/name/lastErrorCode"><code>lastErrorCode</code></a>, or <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> for diagnostic information regarding the failure.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Execute single update statement</p>
- <p>This method executes a single SQL update statement (i.e. any SQL that does not return results, such as <code>UPDATE</code>, <code>INSERT</code>, or <code>DELETE</code>. This method employs <a href="http://sqlite.org/c3ref/prepare.html"><code>sqlite3_prepare_v2</code></a> and <a href="http://sqlite.org/c3ref/step.html"><code>sqlite_step</code></a> to perform the update. Unlike the other <code>executeUpdate</code> methods, this uses printf-style formatters (e.g. <code>%s</code>, <code>%d</code>, etc.) to build the SQL. Do not use <code>?</code> placeholders in the SQL if you use this method.</p><div class="note"><p><strong>Note:</strong> This method does not technically perform a traditional printf-style replacement. What this method actually does is replace the printf-style percent sequences with a SQLite <code>?</code> placeholder, and then bind values to that placeholder. Thus the following command</p>
- <pre><code>[db executeUpdateWithFormat:@"INSERT INTO test (name) VALUES (%@)", @"Gus"];
- </code></pre>
- <p>is actually replacing the <code>%@</code> with <code>?</code> placeholder, and then performing something equivalent to <a href="#//api/name/executeUpdate:"><code>executeUpdate:</code></a></p>
- <pre><code>[db executeUpdate:@"INSERT INTO test (name) VALUES (?)", @"Gus"];
- </code></pre>
- <p>There are two reasons why this distinction is important. First, the printf-style escape sequences can only be used where it is permissible to use a SQLite <code>?</code> placeholder. You can use it only for values in SQL statements, but not for table names or column names or any other non-value context. This method also cannot be used in conjunction with <code>pragma</code> statements and the like. Second, note the lack of quotation marks in the SQL. The <code>VALUES</code> clause was <em>not</em> <code>VALUES ('%@')</code> (like you might have to do if you built a SQL statement using <code>NSString</code> method <code>stringWithFormat</code>), but rather simply <code>VALUES (%@)</code>.</p></div>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="#//api/name/executeUpdate:">- executeUpdate:</a></p></code></li>
-
- <li><code><p><a href="#//api/name/lastError">- lastError</a></p></code></li>
-
- <li><code><p><a href="#//api/name/lastErrorCode">- lastErrorCode</a></p></code></li>
-
- <li><code><p><a href="#//api/name/lastErrorMessage">- lastErrorMessage</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/executeUpdate:withArgumentsInArray:" title="executeUpdate:withArgumentsInArray:"></a>
- <h3 class="method-title"><code><a href="#//api/name/executeUpdate:withArgumentsInArray:">– executeUpdate:withArgumentsInArray:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Execute single update statement</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)executeUpdate:(NSString *)<em>sql</em> withArgumentsInArray:(NSArray *)<em>arguments</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>sql</code></th>
- <td><p>The SQL to be performed, with optional <code>?</code> placeholders.</p></td>
- </tr>
-
- <tr>
- <th scope="row" class="argument-name"><code>arguments</code></th>
- <td><p>A <code>NSArray</code> of objects to be used when binding values to the <code>?</code> placeholders in the SQL statement.</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> upon success; <code>NO</code> upon failure. If failed, you can call <a href="#//api/name/lastError"><code>lastError</code></a>, <a href="#//api/name/lastErrorCode"><code>lastErrorCode</code></a>, or <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> for diagnostic information regarding the failure.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Execute single update statement</p>
- <p>This method executes a single SQL update statement (i.e. any SQL that does not return results, such as <code>UPDATE</code>, <code>INSERT</code>, or <code>DELETE</code>. This method employs <a href="http://sqlite.org/c3ref/prepare.html"><code>sqlite3_prepare_v2</code></a> and <a href="http://sqlite.org/c3ref/bind_blob.html"><code>sqlite3_bind</code></a> binding any <code>?</code> placeholders in the SQL with the optional list of parameters.</p>
- <p>The optional values provided to this method should be objects (e.g. <code>NSString</code>, <code>NSNumber</code>, <code>NSNull</code>, <code>NSDate</code>, and <code>NSData</code> objects), not fundamental data types (e.g. <code>int</code>, <code>long</code>, <code>NSInteger</code>, etc.). This method automatically handles the aforementioned object types, and all other object types will be interpreted as text values using the object’s <code>description</code> method.</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="#//api/name/lastError">- lastError</a></p></code></li>
-
- <li><code><p><a href="#//api/name/lastErrorCode">- lastErrorCode</a></p></code></li>
-
- <li><code><p><a href="#//api/name/lastErrorMessage">- lastErrorMessage</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/executeUpdate:withParameterDictionary:" title="executeUpdate:withParameterDictionary:"></a>
- <h3 class="method-title"><code><a href="#//api/name/executeUpdate:withParameterDictionary:">– executeUpdate:withParameterDictionary:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Execute single update statement</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)executeUpdate:(NSString *)<em>sql</em> withParameterDictionary:(NSDictionary *)<em>arguments</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>sql</code></th>
- <td><p>The SQL to be performed, with optional <code>?</code> placeholders.</p></td>
- </tr>
-
- <tr>
- <th scope="row" class="argument-name"><code>arguments</code></th>
- <td><p>A <code>NSDictionary</code> of objects keyed by column names that will be used when binding values to the <code>?</code> placeholders in the SQL statement.</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> upon success; <code>NO</code> upon failure. If failed, you can call <a href="#//api/name/lastError"><code>lastError</code></a>, <a href="#//api/name/lastErrorCode"><code>lastErrorCode</code></a>, or <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> for diagnostic information regarding the failure.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Execute single update statement</p>
- <p>This method executes a single SQL update statement (i.e. any SQL that does not return results, such as <code>UPDATE</code>, <code>INSERT</code>, or <code>DELETE</code>. This method employs <a href="http://sqlite.org/c3ref/prepare.html"><code>sqlite3_prepare_v2</code></a> and <a href="http://sqlite.org/c3ref/step.html"><code>sqlite_step</code></a> to perform the update. Unlike the other <code>executeUpdate</code> methods, this uses printf-style formatters (e.g. <code>%s</code>, <code>%d</code>, etc.) to build the SQL.</p>
- <p>The optional values provided to this method should be objects (e.g. <code>NSString</code>, <code>NSNumber</code>, <code>NSNull</code>, <code>NSDate</code>, and <code>NSData</code> objects), not fundamental data types (e.g. <code>int</code>, <code>long</code>, <code>NSInteger</code>, etc.). This method automatically handles the aforementioned object types, and all other object types will be interpreted as text values using the object’s <code>description</code> method.</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="#//api/name/lastError">- lastError</a></p></code></li>
-
- <li><code><p><a href="#//api/name/lastErrorCode">- lastErrorCode</a></p></code></li>
-
- <li><code><p><a href="#//api/name/lastErrorMessage">- lastErrorMessage</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/executeUpdate:withVAList:" title="executeUpdate:withVAList:"></a>
- <h3 class="method-title"><code><a href="#//api/name/executeUpdate:withVAList:">– executeUpdate:withVAList:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Execute single update statement</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)executeUpdate:(NSString *)<em>sql</em> withVAList:(va_list)<em>args</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>sql</code></th>
- <td><p>The SQL to be performed, with optional <code>?</code> placeholders.</p></td>
- </tr>
-
- <tr>
- <th scope="row" class="argument-name"><code>args</code></th>
- <td><p>A <code>va_list</code> of arguments.</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> upon success; <code>NO</code> upon failure. If failed, you can call <a href="#//api/name/lastError"><code>lastError</code></a>, <a href="#//api/name/lastErrorCode"><code>lastErrorCode</code></a>, or <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> for diagnostic information regarding the failure.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Execute single update statement</p>
- <p>This method executes a single SQL update statement (i.e. any SQL that does not return results, such as <code>UPDATE</code>, <code>INSERT</code>, or <code>DELETE</code>. This method employs <a href="http://sqlite.org/c3ref/prepare.html"><code>sqlite3_prepare_v2</code></a> and <a href="http://sqlite.org/c3ref/step.html"><code>sqlite_step</code></a> to perform the update. Unlike the other <code>executeUpdate</code> methods, this uses printf-style formatters (e.g. <code>%s</code>, <code>%d</code>, etc.) to build the SQL.</p>
- <p>The optional values provided to this method should be objects (e.g. <code>NSString</code>, <code>NSNumber</code>, <code>NSNull</code>, <code>NSDate</code>, and <code>NSData</code> objects), not fundamental data types (e.g. <code>int</code>, <code>long</code>, <code>NSInteger</code>, etc.). This method automatically handles the aforementioned object types, and all other object types will be interpreted as text values using the object’s <code>description</code> method.</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="#//api/name/lastError">- lastError</a></p></code></li>
-
- <li><code><p><a href="#//api/name/lastErrorCode">- lastErrorCode</a></p></code></li>
-
- <li><code><p><a href="#//api/name/lastErrorMessage">- lastErrorMessage</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/executeStatements:" title="executeStatements:"></a>
- <h3 class="method-title"><code><a href="#//api/name/executeStatements:">– executeStatements:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Execute multiple SQL statements</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)executeStatements:(NSString *)<em>sql</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>sql</code></th>
- <td><p>The SQL to be performed</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> upon success; <code>NO</code> upon failure. If failed, you can call <a href="#//api/name/lastError"><code>lastError</code></a>, <a href="#//api/name/lastErrorCode"><code>lastErrorCode</code></a>, or <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> for diagnostic information regarding the failure.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Execute multiple SQL statements</p>
- <p>This executes a series of SQL statements that are combined in a single string (e.g. the SQL generated by the <code>sqlite3</code> command line <code>.dump</code> command). This accepts no value parameters, but rather simply expects a single string with multiple SQL statements, each terminated with a semicolon. This uses <code>sqlite3_exec</code>.</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="#//api/name/executeStatements:withResultBlock:">- executeStatements:withResultBlock:</a></p></code></li>
-
- <li><code><p><a href="http://sqlite.org/c3ref/exec.html">sqlite3_exec()</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/executeStatements:withResultBlock:" title="executeStatements:withResultBlock:"></a>
- <h3 class="method-title"><code><a href="#//api/name/executeStatements:withResultBlock:">– executeStatements:withResultBlock:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Execute multiple SQL statements with callback handler</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)executeStatements:(NSString *)<em>sql</em> withResultBlock:(FMDBExecuteStatementsCallbackBlock)<em>block</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>sql</code></th>
- <td><p>The SQL to be performed.</p></td>
- </tr>
-
- <tr>
- <th scope="row" class="argument-name"><code>block</code></th>
- <td><p>A block that will be called for any result sets returned by any SQL statements.
- Note, if you supply this block, it must return integer value, zero upon success (this would be a good opportunity to use SQLITE_OK),
- non-zero value upon failure (which will stop the bulk execution of the SQL). If a statement returns values, the block will be called with the results from the query in NSDictionary *resultsDictionary.
- This may be <code>nil</code> if you don’t care to receive any results.</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> upon success; <code>NO</code> upon failure. If failed, you can call <a href="#//api/name/lastError"><code>lastError</code></a>,
- <a href="#//api/name/lastErrorCode"><code>lastErrorCode</code></a>, or <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> for diagnostic information regarding the failure.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Execute multiple SQL statements with callback handler</p>
- <p>This executes a series of SQL statements that are combined in a single string (e.g. the SQL generated by the <code>sqlite3</code> command line <code>.dump</code> command). This accepts no value parameters, but rather simply expects a single string with multiple SQL statements, each terminated with a semicolon. This uses <code>sqlite3_exec</code>.</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="#//api/name/executeStatements:">- executeStatements:</a></p></code></li>
-
- <li><code><p><a href="http://sqlite.org/c3ref/exec.html">sqlite3_exec()</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/lastInsertRowId" title="lastInsertRowId"></a>
- <h3 class="method-title"><code><a href="#//api/name/lastInsertRowId">– lastInsertRowId</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Last insert rowid</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (sqlite_int64)lastInsertRowId</code></div>
-
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p>The rowid of the last inserted row.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Last insert rowid</p>
- <p>Each entry in an SQLite table has a unique 64-bit signed integer key called the “rowid”. The rowid is always available as an undeclared column named <code>ROWID</code>, <code>OID</code>, or <code>_ROWID_</code> as long as those names are not also used by explicitly declared columns. If the table has a column of type <code>INTEGER PRIMARY KEY</code> then that column is another alias for the rowid.</p>
- <p>This routine returns the rowid of the most recent successful <code>INSERT</code> into the database from the database connection in the first argument. As of SQLite version 3.7.7, this routines records the last insert rowid of both ordinary tables and virtual tables. If no successful <code>INSERT</code>s have ever occurred on that database connection, zero is returned.</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="http://sqlite.org/c3ref/last_insert_rowid.html">sqlite3_last_insert_rowid()</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/changes" title="changes"></a>
- <h3 class="method-title"><code><a href="#//api/name/changes">– changes</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>The number of rows changed by prior SQL statement.</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (int)changes</code></div>
-
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p>The number of rows changed by prior SQL statement.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>The number of rows changed by prior SQL statement.</p>
- <p>This function returns the number of database rows that were changed or inserted or deleted by the most recently completed SQL statement on the database connection specified by the first parameter. Only changes that are directly specified by the INSERT, UPDATE, or DELETE statement are counted.</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="http://sqlite.org/c3ref/changes.html">sqlite3_changes()</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div>
- </div>
-
- <a title="Retrieving results" name="task_Retrieving results"></a>
- <h2 class="task-title">Retrieving results</h2>
- <div class="task-list">
- <div class="section-method">
- <a name="//api/name/executeQuery:" title="executeQuery:"></a>
- <h3 class="method-title"><code><a href="#//api/name/executeQuery:">– executeQuery:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Execute select statement</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (FMResultSet *)executeQuery:(NSString *)<em>sql</em>, <em>...</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>sql</code></th>
- <td><p>The SELECT statement to be performed, with optional <code>?</code> placeholders.</p></td>
- </tr>
-
- <tr>
- <th scope="row" class="argument-name"><code>...</code></th>
- <td><p>Optional parameters to bind to <code>?</code> placeholders in the SQL statement. These should be Objective-C objects (e.g. <code>NSString</code>, <code>NSNumber</code>, etc.), not fundamental C data types (e.g. <code>int</code>, <code>char *</code>, etc.).</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p>A <a href="../Classes/FMResultSet.html"><code>FMResultSet</code></a> for the result set upon success; <code>nil</code> upon failure. If failed, you can call <a href="#//api/name/lastError"><code>lastError</code></a>, <a href="#//api/name/lastErrorCode"><code>lastErrorCode</code></a>, or <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> for diagnostic information regarding the failure.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Execute select statement</p>
- <p>Executing queries returns an <a href="../Classes/FMResultSet.html"><code>FMResultSet</code></a> object if successful, and <code>nil</code> upon failure. Like executing updates, there is a variant that accepts an <code>NSError **</code> parameter. Otherwise you should use the <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> and <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> methods to determine why a query failed.</p>
- <p>In order to iterate through the results of your query, you use a <code>while()</code> loop. You also need to “step” (via <a href="../Classes/FMResultSet.html#//api/name/next"><code>[FMResultSet next]</code></a>) from one record to the other.</p>
- <p>This method employs <a href="http://sqlite.org/c3ref/bind_blob.html"><code>sqlite3_bind</code></a> for any optional value parameters. This properly escapes any characters that need escape sequences (e.g. quotation marks), which eliminates simple SQL errors as well as protects against SQL injection attacks. This method natively handles <code>NSString</code>, <code>NSNumber</code>, <code>NSNull</code>, <code>NSDate</code>, and <code>NSData</code> objects. All other object types will be interpreted as text values using the object’s <code>description</code> method.</p><div class="note"><p><strong>Note:</strong> If you want to use this from Swift, please note that you must include <code>FMDatabaseVariadic.swift</code> in your project. Without that, you cannot use this method directly, and instead have to use methods such as <a href="#//api/name/executeQuery:withArgumentsInArray:"><code>executeQuery:withArgumentsInArray:</code></a>.</p></div>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="../Classes/FMResultSet.html">FMResultSet</a></p></code></li>
-
- <li><code><p><a href="../Classes/FMResultSet.html#//api/name/next"><code>FMResultSet next</code></a></p></code></li>
-
- <li><code><p><a href="http://sqlite.org/c3ref/bind_blob.html"><code>sqlite3_bind</code></a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/executeQueryWithFormat:" title="executeQueryWithFormat:"></a>
- <h3 class="method-title"><code><a href="#//api/name/executeQueryWithFormat:">– executeQueryWithFormat:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Execute select statement</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (FMResultSet *)executeQueryWithFormat:(NSString *)<em>format</em>, <em>...</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>format</code></th>
- <td><p>The SQL to be performed, with <code>printf</code>-style escape sequences.</p></td>
- </tr>
-
- <tr>
- <th scope="row" class="argument-name"><code>...</code></th>
- <td><p>Optional parameters to bind to use in conjunction with the <code>printf</code>-style escape sequences in the SQL statement.</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p>A <a href="../Classes/FMResultSet.html"><code>FMResultSet</code></a> for the result set upon success; <code>nil</code> upon failure. If failed, you can call <a href="#//api/name/lastError"><code>lastError</code></a>, <a href="#//api/name/lastErrorCode"><code>lastErrorCode</code></a>, or <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> for diagnostic information regarding the failure.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Execute select statement</p>
- <p>Executing queries returns an <a href="../Classes/FMResultSet.html"><code>FMResultSet</code></a> object if successful, and <code>nil</code> upon failure. Like executing updates, there is a variant that accepts an <code>NSError **</code> parameter. Otherwise you should use the <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> and <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> methods to determine why a query failed.</p>
- <p>In order to iterate through the results of your query, you use a <code>while()</code> loop. You also need to “step” (via <a href="../Classes/FMResultSet.html#//api/name/next"><code>[FMResultSet next]</code></a>) from one record to the other.</p><div class="note"><p><strong>Note:</strong> This method does not technically perform a traditional printf-style replacement. What this method actually does is replace the printf-style percent sequences with a SQLite <code>?</code> placeholder, and then bind values to that placeholder. Thus the following command</p>
- <pre><code>[db executeQueryWithFormat:@"SELECT * FROM test WHERE name=%@", @"Gus"];
- </code></pre>
- <p>is actually replacing the <code>%@</code> with <code>?</code> placeholder, and then performing something equivalent to <code>executeQuery:</code></p>
- <pre><code>[db executeQuery:@"SELECT * FROM test WHERE name=?", @"Gus"];
- </code></pre>
- <p>There are two reasons why this distinction is important. First, the printf-style escape sequences can only be used where it is permissible to use a SQLite <code>?</code> placeholder. You can use it only for values in SQL statements, but not for table names or column names or any other non-value context. This method also cannot be used in conjunction with <code>pragma</code> statements and the like. Second, note the lack of quotation marks in the SQL. The <code>WHERE</code> clause was <em>not</em> <code>WHERE name='%@'</code> (like you might have to do if you built a SQL statement using <code>NSString</code> method <code>stringWithFormat</code>), but rather simply <code>WHERE name=%@</code>.</p></div>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="#//api/name/executeQuery:">- executeQuery:</a></p></code></li>
-
- <li><code><p><a href="../Classes/FMResultSet.html">FMResultSet</a></p></code></li>
-
- <li><code><p><a href="../Classes/FMResultSet.html#//api/name/next"><code>FMResultSet next</code></a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/executeQuery:withArgumentsInArray:" title="executeQuery:withArgumentsInArray:"></a>
- <h3 class="method-title"><code><a href="#//api/name/executeQuery:withArgumentsInArray:">– executeQuery:withArgumentsInArray:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Execute select statement</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (FMResultSet *)executeQuery:(NSString *)<em>sql</em> withArgumentsInArray:(NSArray *)<em>arguments</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>sql</code></th>
- <td><p>The SELECT statement to be performed, with optional <code>?</code> placeholders.</p></td>
- </tr>
-
- <tr>
- <th scope="row" class="argument-name"><code>arguments</code></th>
- <td><p>A <code>NSArray</code> of objects to be used when binding values to the <code>?</code> placeholders in the SQL statement.</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p>A <a href="../Classes/FMResultSet.html"><code>FMResultSet</code></a> for the result set upon success; <code>nil</code> upon failure. If failed, you can call <a href="#//api/name/lastError"><code>lastError</code></a>, <a href="#//api/name/lastErrorCode"><code>lastErrorCode</code></a>, or <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> for diagnostic information regarding the failure.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Execute select statement</p>
- <p>Executing queries returns an <a href="../Classes/FMResultSet.html"><code>FMResultSet</code></a> object if successful, and <code>nil</code> upon failure. Like executing updates, there is a variant that accepts an <code>NSError **</code> parameter. Otherwise you should use the <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> and <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> methods to determine why a query failed.</p>
- <p>In order to iterate through the results of your query, you use a <code>while()</code> loop. You also need to “step” (via <a href="../Classes/FMResultSet.html#//api/name/next"><code>[FMResultSet next]</code></a>) from one record to the other.</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="../Classes/FMResultSet.html">FMResultSet</a></p></code></li>
-
- <li><code><p><a href="../Classes/FMResultSet.html#//api/name/next"><code>FMResultSet next</code></a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/executeQuery:withParameterDictionary:" title="executeQuery:withParameterDictionary:"></a>
- <h3 class="method-title"><code><a href="#//api/name/executeQuery:withParameterDictionary:">– executeQuery:withParameterDictionary:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Execute select statement</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (FMResultSet *)executeQuery:(NSString *)<em>sql</em> withParameterDictionary:(NSDictionary *)<em>arguments</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>sql</code></th>
- <td><p>The SELECT statement to be performed, with optional <code>?</code> placeholders.</p></td>
- </tr>
-
- <tr>
- <th scope="row" class="argument-name"><code>arguments</code></th>
- <td><p>A <code>NSDictionary</code> of objects keyed by column names that will be used when binding values to the <code>?</code> placeholders in the SQL statement.</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p>A <a href="../Classes/FMResultSet.html"><code>FMResultSet</code></a> for the result set upon success; <code>nil</code> upon failure. If failed, you can call <a href="#//api/name/lastError"><code>lastError</code></a>, <a href="#//api/name/lastErrorCode"><code>lastErrorCode</code></a>, or <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> for diagnostic information regarding the failure.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Execute select statement</p>
- <p>Executing queries returns an <a href="../Classes/FMResultSet.html"><code>FMResultSet</code></a> object if successful, and <code>nil</code> upon failure. Like executing updates, there is a variant that accepts an <code>NSError **</code> parameter. Otherwise you should use the <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> and <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> methods to determine why a query failed.</p>
- <p>In order to iterate through the results of your query, you use a <code>while()</code> loop. You also need to “step” (via <a href="../Classes/FMResultSet.html#//api/name/next"><code>[FMResultSet next]</code></a>) from one record to the other.</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="../Classes/FMResultSet.html">FMResultSet</a></p></code></li>
-
- <li><code><p><a href="../Classes/FMResultSet.html#//api/name/next"><code>FMResultSet next</code></a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div>
- </div>
-
- <a title="Transactions" name="task_Transactions"></a>
- <h2 class="task-title">Transactions</h2>
- <div class="task-list">
- <div class="section-method">
- <a name="//api/name/beginTransaction" title="beginTransaction"></a>
- <h3 class="method-title"><code><a href="#//api/name/beginTransaction">– beginTransaction</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Begin a transaction</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)beginTransaction</code></div>
-
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> on success; <code>NO</code> on failure. If failed, you can call <a href="#//api/name/lastError"><code>lastError</code></a>, <a href="#//api/name/lastErrorCode"><code>lastErrorCode</code></a>, or <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> for diagnostic information regarding the failure.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Begin a transaction</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="#//api/name/commit">- commit</a></p></code></li>
-
- <li><code><p><a href="#//api/name/rollback">- rollback</a></p></code></li>
-
- <li><code><p><a href="#//api/name/beginDeferredTransaction">- beginDeferredTransaction</a></p></code></li>
-
- <li><code><p><a href="#//api/name/inTransaction">- inTransaction</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/beginDeferredTransaction" title="beginDeferredTransaction"></a>
- <h3 class="method-title"><code><a href="#//api/name/beginDeferredTransaction">– beginDeferredTransaction</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Begin a deferred transaction</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)beginDeferredTransaction</code></div>
-
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> on success; <code>NO</code> on failure. If failed, you can call <a href="#//api/name/lastError"><code>lastError</code></a>, <a href="#//api/name/lastErrorCode"><code>lastErrorCode</code></a>, or <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> for diagnostic information regarding the failure.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Begin a deferred transaction</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="#//api/name/commit">- commit</a></p></code></li>
-
- <li><code><p><a href="#//api/name/rollback">- rollback</a></p></code></li>
-
- <li><code><p><a href="#//api/name/beginTransaction">- beginTransaction</a></p></code></li>
-
- <li><code><p><a href="#//api/name/inTransaction">- inTransaction</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/commit" title="commit"></a>
- <h3 class="method-title"><code><a href="#//api/name/commit">– commit</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Commit a transaction</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)commit</code></div>
-
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> on success; <code>NO</code> on failure. If failed, you can call <a href="#//api/name/lastError"><code>lastError</code></a>, <a href="#//api/name/lastErrorCode"><code>lastErrorCode</code></a>, or <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> for diagnostic information regarding the failure.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Commit a transaction</p>
- <p>Commit a transaction that was initiated with either <a href="#//api/name/beginTransaction"><code>beginTransaction</code></a> or with <a href="#//api/name/beginDeferredTransaction"><code>beginDeferredTransaction</code></a>.</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="#//api/name/beginTransaction">- beginTransaction</a></p></code></li>
-
- <li><code><p><a href="#//api/name/beginDeferredTransaction">- beginDeferredTransaction</a></p></code></li>
-
- <li><code><p><a href="#//api/name/rollback">- rollback</a></p></code></li>
-
- <li><code><p><a href="#//api/name/inTransaction">- inTransaction</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/rollback" title="rollback"></a>
- <h3 class="method-title"><code><a href="#//api/name/rollback">– rollback</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Rollback a transaction</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)rollback</code></div>
-
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> on success; <code>NO</code> on failure. If failed, you can call <a href="#//api/name/lastError"><code>lastError</code></a>, <a href="#//api/name/lastErrorCode"><code>lastErrorCode</code></a>, or <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> for diagnostic information regarding the failure.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Rollback a transaction</p>
- <p>Rollback a transaction that was initiated with either <a href="#//api/name/beginTransaction"><code>beginTransaction</code></a> or with <a href="#//api/name/beginDeferredTransaction"><code>beginDeferredTransaction</code></a>.</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="#//api/name/beginTransaction">- beginTransaction</a></p></code></li>
-
- <li><code><p><a href="#//api/name/beginDeferredTransaction">- beginDeferredTransaction</a></p></code></li>
-
- <li><code><p><a href="#//api/name/commit">- commit</a></p></code></li>
-
- <li><code><p><a href="#//api/name/inTransaction">- inTransaction</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/inTransaction" title="inTransaction"></a>
- <h3 class="method-title"><code><a href="#//api/name/inTransaction">– inTransaction</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Identify whether currently in a transaction or not</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)inTransaction</code></div>
-
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> if currently within transaction; <code>NO</code> if not.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Identify whether currently in a transaction or not</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="#//api/name/beginTransaction">- beginTransaction</a></p></code></li>
-
- <li><code><p><a href="#//api/name/beginDeferredTransaction">- beginDeferredTransaction</a></p></code></li>
-
- <li><code><p><a href="#//api/name/commit">- commit</a></p></code></li>
-
- <li><code><p><a href="#//api/name/rollback">- rollback</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div>
- </div>
-
- <a title="Cached statements and result sets" name="task_Cached statements and result sets"></a>
- <h2 class="task-title">Cached statements and result sets</h2>
- <div class="task-list">
- <div class="section-method">
- <a name="//api/name/clearCachedStatements" title="clearCachedStatements"></a>
- <h3 class="method-title"><code><a href="#//api/name/clearCachedStatements">– clearCachedStatements</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Clear cached statements</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (void)clearCachedStatements</code></div>
-
-
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Clear cached statements</p>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/closeOpenResultSets" title="closeOpenResultSets"></a>
- <h3 class="method-title"><code><a href="#//api/name/closeOpenResultSets">– closeOpenResultSets</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Close all open result sets</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (void)closeOpenResultSets</code></div>
-
-
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Close all open result sets</p>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/hasOpenResultSets" title="hasOpenResultSets"></a>
- <h3 class="method-title"><code><a href="#//api/name/hasOpenResultSets">– hasOpenResultSets</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Whether database has any open result sets</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)hasOpenResultSets</code></div>
-
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> if there are open result sets; <code>NO</code> if not.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Whether database has any open result sets</p>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/shouldCacheStatements" title="shouldCacheStatements"></a>
- <h3 class="method-title"><code><a href="#//api/name/shouldCacheStatements">– shouldCacheStatements</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Return whether should cache statements or not</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)shouldCacheStatements</code></div>
-
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> if should cache statements; <code>NO</code> if not.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Return whether should cache statements or not</p>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/setShouldCacheStatements:" title="setShouldCacheStatements:"></a>
- <h3 class="method-title"><code><a href="#//api/name/setShouldCacheStatements:">– setShouldCacheStatements:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Set whether should cache statements or not</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (void)setShouldCacheStatements:(BOOL)<em>value</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>value</code></th>
- <td><p><code>YES</code> if should cache statements; <code>NO</code> if not.</p></td>
- </tr>
-
- </table>
- </div>
-
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Set whether should cache statements or not</p>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div>
- </div>
-
- <a title="Encryption methods" name="task_Encryption methods"></a>
- <h2 class="task-title">Encryption methods</h2>
- <div class="task-list">
- <div class="section-method">
- <a name="//api/name/setKey:" title="setKey:"></a>
- <h3 class="method-title"><code><a href="#//api/name/setKey:">– setKey:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Set encryption key.</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)setKey:(NSString *)<em>key</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>key</code></th>
- <td><p>The key to be used.</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> if success, <code>NO</code> on error.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Set encryption key.</p><div class="warning"><p><strong>Warning:</strong> You need to have purchased the sqlite encryption extensions for this method to work.</p></div>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="http://www.sqlite-encrypt.com/develop-guide.htm">http://www.sqlite-encrypt.com/develop-guide.htm</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/rekey:" title="rekey:"></a>
- <h3 class="method-title"><code><a href="#//api/name/rekey:">– rekey:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Reset encryption key</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)rekey:(NSString *)<em>key</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>key</code></th>
- <td><p>The key to be used.</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> if success, <code>NO</code> on error.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Reset encryption key</p><div class="warning"><p><strong>Warning:</strong> You need to have purchased the sqlite encryption extensions for this method to work.</p></div>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="http://www.sqlite-encrypt.com/develop-guide.htm">http://www.sqlite-encrypt.com/develop-guide.htm</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/setKeyWithData:" title="setKeyWithData:"></a>
- <h3 class="method-title"><code><a href="#//api/name/setKeyWithData:">– setKeyWithData:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Set encryption key using <code>keyData</code>.</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)setKeyWithData:(NSData *)<em>keyData</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>keyData</code></th>
- <td><p>The <code>NSData</code> to be used.</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> if success, <code>NO</code> on error.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Set encryption key using <code>keyData</code>.</p><div class="warning"><p><strong>Warning:</strong> You need to have purchased the sqlite encryption extensions for this method to work.</p></div>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="http://www.sqlite-encrypt.com/develop-guide.htm">http://www.sqlite-encrypt.com/develop-guide.htm</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/rekeyWithData:" title="rekeyWithData:"></a>
- <h3 class="method-title"><code><a href="#//api/name/rekeyWithData:">– rekeyWithData:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Reset encryption key using <code>keyData</code>.</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)rekeyWithData:(NSData *)<em>keyData</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>keyData</code></th>
- <td><p>The <code>NSData</code> to be used.</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> if success, <code>NO</code> on error.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Reset encryption key using <code>keyData</code>.</p><div class="warning"><p><strong>Warning:</strong> You need to have purchased the sqlite encryption extensions for this method to work.</p></div>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="http://www.sqlite-encrypt.com/develop-guide.htm">http://www.sqlite-encrypt.com/develop-guide.htm</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div>
- </div>
-
- <a title="General inquiry methods" name="task_General inquiry methods"></a>
- <h2 class="task-title">General inquiry methods</h2>
- <div class="task-list">
- <div class="section-method">
- <a name="//api/name/databasePath" title="databasePath"></a>
- <h3 class="method-title"><code><a href="#//api/name/databasePath">– databasePath</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>The path of the database file</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (NSString *)databasePath</code></div>
-
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p>path of database.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>The path of the database file</p>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/sqliteHandle" title="sqliteHandle"></a>
- <h3 class="method-title"><code><a href="#//api/name/sqliteHandle">– sqliteHandle</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>The underlying SQLite handle</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (sqlite3 *)sqliteHandle</code></div>
-
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p>The <code>sqlite3</code> pointer.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>The underlying SQLite handle</p>
- </div>
-
-
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div>
- </div>
-
- <a title="Retrieving error codes" name="task_Retrieving error codes"></a>
- <h2 class="task-title">Retrieving error codes</h2>
- <div class="task-list">
- <div class="section-method">
- <a name="//api/name/lastErrorMessage" title="lastErrorMessage"></a>
- <h3 class="method-title"><code><a href="#//api/name/lastErrorMessage">– lastErrorMessage</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Last error message</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (NSString *)lastErrorMessage</code></div>
-
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>NSString</code> of the last error message.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Last error message</p>
- <p>Returns the English-language text that describes the most recent failed SQLite API call associated with a database connection. If a prior API call failed but the most recent API call succeeded, this return value is undefined.</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="http://sqlite.org/c3ref/errcode.html">sqlite3_errmsg()</a></p></code></li>
-
- <li><code><p><a href="#//api/name/lastErrorCode">- lastErrorCode</a></p></code></li>
-
- <li><code><p><a href="#//api/name/lastError">- lastError</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/lastErrorCode" title="lastErrorCode"></a>
- <h3 class="method-title"><code><a href="#//api/name/lastErrorCode">– lastErrorCode</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Last error code</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (int)lastErrorCode</code></div>
-
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p>Integer value of the last error code.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Last error code</p>
- <p>Returns the numeric result code or extended result code for the most recent failed SQLite API call associated with a database connection. If a prior API call failed but the most recent API call succeeded, this return value is undefined.</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="http://sqlite.org/c3ref/errcode.html">sqlite3_errcode()</a></p></code></li>
-
- <li><code><p><a href="#//api/name/lastErrorMessage">- lastErrorMessage</a></p></code></li>
-
- <li><code><p><a href="#//api/name/lastError">- lastError</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/hadError" title="hadError"></a>
- <h3 class="method-title"><code><a href="#//api/name/hadError">– hadError</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Had error</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)hadError</code></div>
-
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> if there was an error, <code>NO</code> if no error.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Had error</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="#//api/name/lastError">- lastError</a></p></code></li>
-
- <li><code><p><a href="#//api/name/lastErrorCode">- lastErrorCode</a></p></code></li>
-
- <li><code><p><a href="#//api/name/lastErrorMessage">- lastErrorMessage</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/lastError" title="lastError"></a>
- <h3 class="method-title"><code><a href="#//api/name/lastError">– lastError</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Last error</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (NSError *)lastError</code></div>
-
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>NSError</code> representing the last error.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Last error</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="#//api/name/lastErrorCode">- lastErrorCode</a></p></code></li>
-
- <li><code><p><a href="#//api/name/lastErrorMessage">- lastErrorMessage</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div>
- </div>
-
- <a title="Save points" name="task_Save points"></a>
- <h2 class="task-title">Save points</h2>
- <div class="task-list">
- <div class="section-method">
- <a name="//api/name/startSavePointWithName:error:" title="startSavePointWithName:error:"></a>
- <h3 class="method-title"><code><a href="#//api/name/startSavePointWithName:error:">– startSavePointWithName:error:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Start save point</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)startSavePointWithName:(NSString *)<em>name</em> error:(NSError **)<em>outErr</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>name</code></th>
- <td><p>Name of save point.</p></td>
- </tr>
-
- <tr>
- <th scope="row" class="argument-name"><code>outErr</code></th>
- <td><p>A <code>NSError</code> object to receive any error object (if any).</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> on success; <code>NO</code> on failure. If failed, you can call <a href="#//api/name/lastError"><code>lastError</code></a>, <a href="#//api/name/lastErrorCode"><code>lastErrorCode</code></a>, or <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> for diagnostic information regarding the failure.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Start save point</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="#//api/name/releaseSavePointWithName:error:">- releaseSavePointWithName:error:</a></p></code></li>
-
- <li><code><p><a href="#//api/name/rollbackToSavePointWithName:error:">- rollbackToSavePointWithName:error:</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/releaseSavePointWithName:error:" title="releaseSavePointWithName:error:"></a>
- <h3 class="method-title"><code><a href="#//api/name/releaseSavePointWithName:error:">– releaseSavePointWithName:error:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Release save point</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)releaseSavePointWithName:(NSString *)<em>name</em> error:(NSError **)<em>outErr</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>name</code></th>
- <td><p>Name of save point.</p></td>
- </tr>
-
- <tr>
- <th scope="row" class="argument-name"><code>outErr</code></th>
- <td><p>A <code>NSError</code> object to receive any error object (if any).</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> on success; <code>NO</code> on failure. If failed, you can call <a href="#//api/name/lastError"><code>lastError</code></a>, <a href="#//api/name/lastErrorCode"><code>lastErrorCode</code></a>, or <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> for diagnostic information regarding the failure.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Release save point</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="#//api/name/startSavePointWithName:error:">- startSavePointWithName:error:</a></p></code></li>
-
- <li><code><p><a href="#//api/name/rollbackToSavePointWithName:error:">- rollbackToSavePointWithName:error:</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/rollbackToSavePointWithName:error:" title="rollbackToSavePointWithName:error:"></a>
- <h3 class="method-title"><code><a href="#//api/name/rollbackToSavePointWithName:error:">– rollbackToSavePointWithName:error:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Roll back to save point</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)rollbackToSavePointWithName:(NSString *)<em>name</em> error:(NSError **)<em>outErr</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>name</code></th>
- <td><p>Name of save point.</p></td>
- </tr>
-
- <tr>
- <th scope="row" class="argument-name"><code>outErr</code></th>
- <td><p>A <code>NSError</code> object to receive any error object (if any).</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> on success; <code>NO</code> on failure. If failed, you can call <a href="#//api/name/lastError"><code>lastError</code></a>, <a href="#//api/name/lastErrorCode"><code>lastErrorCode</code></a>, or <a href="#//api/name/lastErrorMessage"><code>lastErrorMessage</code></a> for diagnostic information regarding the failure.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Roll back to save point</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="#//api/name/startSavePointWithName:error:">- startSavePointWithName:error:</a></p></code></li>
-
- <li><code><p><a href="#//api/name/releaseSavePointWithName:error:">- releaseSavePointWithName:error:</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/inSavePoint:" title="inSavePoint:"></a>
- <h3 class="method-title"><code><a href="#//api/name/inSavePoint:">– inSavePoint:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Start save point</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (NSError *)inSavePoint:(void ( ^ ) ( BOOL *rollback ))<em>block</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>block</code></th>
- <td><p>Block of code to perform from within save point.</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p>The NSError corresponding to the error, if any. If no error, returns <code>nil</code>.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Start save point</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="#//api/name/startSavePointWithName:error:">- startSavePointWithName:error:</a></p></code></li>
-
- <li><code><p><a href="#//api/name/releaseSavePointWithName:error:">- releaseSavePointWithName:error:</a></p></code></li>
-
- <li><code><p><a href="#//api/name/rollbackToSavePointWithName:error:">- rollbackToSavePointWithName:error:</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div>
- </div>
-
- <a title="SQLite library status" name="task_SQLite library status"></a>
- <h2 class="task-title">SQLite library status</h2>
- <div class="task-list">
- <div class="section-method">
- <a name="//api/name/isSQLiteThreadSafe" title="isSQLiteThreadSafe"></a>
- <h3 class="method-title"><code><a href="#//api/name/isSQLiteThreadSafe">+ isSQLiteThreadSafe</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Test to see if the library is threadsafe</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>+ (BOOL)isSQLiteThreadSafe</code></div>
-
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>NO</code> if and only if SQLite was compiled with mutexing code omitted due to the SQLITE_THREADSAFE compile-time option being set to 0.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Test to see if the library is threadsafe</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="http://sqlite.org/c3ref/threadsafe.html">sqlite3_threadsafe()</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/sqliteLibVersion" title="sqliteLibVersion"></a>
- <h3 class="method-title"><code><a href="#//api/name/sqliteLibVersion">+ sqliteLibVersion</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Run-time library version numbers</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>+ (NSString *)sqliteLibVersion</code></div>
-
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p>The sqlite library version string.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Run-time library version numbers</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="http://sqlite.org/c3ref/libversion.html">sqlite3_libversion()</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div>
- </div>
-
- <a title="Make SQL function" name="task_Make SQL function"></a>
- <h2 class="task-title">Make SQL function</h2>
- <div class="task-list">
- <div class="section-method">
- <a name="//api/name/makeFunctionNamed:maximumArguments:withBlock:" title="makeFunctionNamed:maximumArguments:withBlock:"></a>
- <h3 class="method-title"><code><a href="#//api/name/makeFunctionNamed:maximumArguments:withBlock:">– makeFunctionNamed:maximumArguments:withBlock:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Adds SQL functions or aggregates or to redefine the behavior of existing SQL functions or aggregates.</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (void)makeFunctionNamed:(NSString *)<em>name</em> maximumArguments:(int)<em>count</em> withBlock:(void ( ^ ) ( sqlite3_context *context , int argc , sqlite3_value **argv ))<em>block</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>name</code></th>
- <td><p>Name of function</p></td>
- </tr>
-
- <tr>
- <th scope="row" class="argument-name"><code>count</code></th>
- <td><p>Maximum number of parameters</p></td>
- </tr>
-
- <tr>
- <th scope="row" class="argument-name"><code>block</code></th>
- <td><p>The block of code for the function</p></td>
- </tr>
-
- </table>
- </div>
-
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Adds SQL functions or aggregates or to redefine the behavior of existing SQL functions or aggregates.</p>
- <p>For example:</p>
- <pre><code>[queue inDatabase:^(FMDatabase *adb) {
- [adb executeUpdate:@"create table ftest (foo text)"];
- [adb executeUpdate:@"insert into ftest values ('hello')"];
- [adb executeUpdate:@"insert into ftest values ('hi')"];
- [adb executeUpdate:@"insert into ftest values ('not h!')"];
- [adb executeUpdate:@"insert into ftest values ('definitely not h!')"];
- [adb makeFunctionNamed:@"StringStartsWithH" maximumArguments:1 withBlock:^(sqlite3_context *context, int aargc, sqlite3_value **aargv) {
- if (sqlite3_value_type(aargv[0]) == SQLITE_TEXT) {
- @autoreleasepool {
- const char *c = (const char *)sqlite3_value_text(aargv[0]);
- NSString *s = [NSString stringWithUTF8String:c];
- sqlite3_result_int(context, [s hasPrefix:@"h"]);
- }
- }
- else {
- NSLog(@"Unknown formart for StringStartsWithH (%d) %s:%d", sqlite3_value_type(aargv[0]), __FUNCTION__, __LINE__);
- sqlite3_result_null(context);
- }
- }];
- int rowCount = 0;
- FMResultSet *ars = [adb executeQuery:@"select * from ftest where StringStartsWithH(foo)"];
- while ([ars next]) {
- rowCount++;
- NSLog(@"Does %@ start with 'h'?", [rs stringForColumnIndex:0]);
- }
- FMDBQuickCheck(rowCount == 2);
- }];
- </code></pre>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="http://sqlite.org/c3ref/create_function.html">sqlite3_create_function()</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div>
- </div>
-
- <a title="Date formatter" name="task_Date formatter"></a>
- <h2 class="task-title">Date formatter</h2>
- <div class="task-list">
- <div class="section-method">
- <a name="//api/name/storeableDateFormat:" title="storeableDateFormat:"></a>
- <h3 class="method-title"><code><a href="#//api/name/storeableDateFormat:">+ storeableDateFormat:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Generate an <code>NSDateFormatter</code> that won’t be broken by permutations of timezones or locales.</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>+ (NSDateFormatter *)storeableDateFormat:(NSString *)<em>format</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>format</code></th>
- <td><p>A valid NSDateFormatter format string.</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p>A <code>NSDateFormatter</code> that can be used for converting dates to strings and vice versa.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Generate an <code>NSDateFormatter</code> that won’t be broken by permutations of timezones or locales.</p>
- <p>Use this method to generate values to set the dateFormat property.</p>
- <p>Example:</p>
- <pre><code>myDB.dateFormat = [FMDatabase storeableDateFormat:@"yyyy-MM-dd HH:mm:ss"];
- </code></pre><div class="warning"><p><strong>Warning:</strong> Note that <code>NSDateFormatter</code> is not thread-safe, so the formatter generated by this method should be assigned to only one FMDB instance and should not be used for other purposes.</p></div>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="#//api/name/hasDateFormatter">- hasDateFormatter</a></p></code></li>
-
- <li><code><p><a href="#//api/name/setDateFormat:">- setDateFormat:</a></p></code></li>
-
- <li><code><p><a href="#//api/name/dateFromString:">- dateFromString:</a></p></code></li>
-
- <li><code><p><a href="#//api/name/stringFromDate:">- stringFromDate:</a></p></code></li>
-
- <li><code><p><a href="#//api/name/storeableDateFormat:">+ storeableDateFormat:</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/hasDateFormatter" title="hasDateFormatter"></a>
- <h3 class="method-title"><code><a href="#//api/name/hasDateFormatter">– hasDateFormatter</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Test whether the database has a date formatter assigned.</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (BOOL)hasDateFormatter</code></div>
-
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p><code>YES</code> if there is a date formatter; <code>NO</code> if not.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Test whether the database has a date formatter assigned.</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="#//api/name/hasDateFormatter">- hasDateFormatter</a></p></code></li>
-
- <li><code><p><a href="#//api/name/setDateFormat:">- setDateFormat:</a></p></code></li>
-
- <li><code><p><a href="#//api/name/dateFromString:">- dateFromString:</a></p></code></li>
-
- <li><code><p><a href="#//api/name/stringFromDate:">- stringFromDate:</a></p></code></li>
-
- <li><code><p><a href="#//api/name/storeableDateFormat:">+ storeableDateFormat:</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/setDateFormat:" title="setDateFormat:"></a>
- <h3 class="method-title"><code><a href="#//api/name/setDateFormat:">– setDateFormat:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Set to a date formatter to use string dates with sqlite instead of the default UNIX timestamps.</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (void)setDateFormat:(NSDateFormatter *)<em>format</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>format</code></th>
- <td><p>Set to nil to use UNIX timestamps. Defaults to nil. Should be set using a formatter generated using FMDatabase::storeableDateFormat.</p></td>
- </tr>
-
- </table>
- </div>
-
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Set to a date formatter to use string dates with sqlite instead of the default UNIX timestamps.</p><div class="warning"><p><strong>Warning:</strong> Note there is no direct getter for the <code>NSDateFormatter</code>, and you should not use the formatter you pass to FMDB for other purposes, as <code>NSDateFormatter</code> is not thread-safe.</p></div>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="#//api/name/hasDateFormatter">- hasDateFormatter</a></p></code></li>
-
- <li><code><p><a href="#//api/name/setDateFormat:">- setDateFormat:</a></p></code></li>
-
- <li><code><p><a href="#//api/name/dateFromString:">- dateFromString:</a></p></code></li>
-
- <li><code><p><a href="#//api/name/stringFromDate:">- stringFromDate:</a></p></code></li>
-
- <li><code><p><a href="#//api/name/storeableDateFormat:">+ storeableDateFormat:</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/dateFromString:" title="dateFromString:"></a>
- <h3 class="method-title"><code><a href="#//api/name/dateFromString:">– dateFromString:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Convert the supplied NSString to NSDate, using the current database formatter.</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (NSDate *)dateFromString:(NSString *)<em>s</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>s</code></th>
- <td><p><code>NSString</code> to convert to <code>NSDate</code>.</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p>The <code>NSDate</code> object; or <code>nil</code> if no formatter is set.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Convert the supplied NSString to NSDate, using the current database formatter.</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="#//api/name/hasDateFormatter">- hasDateFormatter</a></p></code></li>
-
- <li><code><p><a href="#//api/name/setDateFormat:">- setDateFormat:</a></p></code></li>
-
- <li><code><p><a href="#//api/name/dateFromString:">- dateFromString:</a></p></code></li>
-
- <li><code><p><a href="#//api/name/stringFromDate:">- stringFromDate:</a></p></code></li>
-
- <li><code><p><a href="#//api/name/storeableDateFormat:">+ storeableDateFormat:</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div><div class="section-method">
- <a name="//api/name/stringFromDate:" title="stringFromDate:"></a>
- <h3 class="method-title"><code><a href="#//api/name/stringFromDate:">– stringFromDate:</a></code>
- </h3>
- <div class="method-info">
- <div class="pointy-thing"></div>
- <div class="method-info-container">
-
-
- <div class="method-subsection brief-description">
- <p>Convert the supplied NSDate to NSString, using the current database formatter.</p>
- </div>
-
-
- <div class="method-subsection method-declaration"><code>- (NSString *)stringFromDate:(NSDate *)<em>date</em></code></div>
-
-
- <div class="method-subsection arguments-section parameters">
- <h4 class="method-subtitle parameter-title">Parameters</h4>
- <table class="argument-def parameter-def">
-
- <tr>
- <th scope="row" class="argument-name"><code>date</code></th>
- <td><p><code>NSDate</code> of date to convert to <code>NSString</code>.</p></td>
- </tr>
-
- </table>
- </div>
-
-
- <div class="method-subsection return">
- <h4 class="method-subtitle parameter-title">Return Value</h4>
- <p>The <code>NSString</code> representation of the date; <code>nil</code> if no formatter is set.</p>
- </div>
-
-
-
- <div class="method-subsection discussion-section">
- <h4 class="method-subtitle">Discussion</h4>
- <p>Convert the supplied NSDate to NSString, using the current database formatter.</p>
- </div>
-
-
-
- <div class="method-subsection see-also-section">
- <h4 class="method-subtitle">See Also</h4>
- <ul>
-
- <li><code><p><a href="#//api/name/hasDateFormatter">- hasDateFormatter</a></p></code></li>
-
- <li><code><p><a href="#//api/name/setDateFormat:">- setDateFormat:</a></p></code></li>
-
- <li><code><p><a href="#//api/name/dateFromString:">- dateFromString:</a></p></code></li>
-
- <li><code><p><a href="#//api/name/stringFromDate:">- stringFromDate:</a></p></code></li>
-
- <li><code><p><a href="#//api/name/storeableDateFormat:">+ storeableDateFormat:</a></p></code></li>
-
- </ul>
- </div>
-
-
- <div class="method-subsection declared-in-section">
- <h4 class="method-subtitle">Declared In</h4>
- <p><code class="declared-in-ref">FMDatabase.h</code></p>
- </div>
-
-
- </div>
- </div>
- </div>
- </div>
-
- </div>
-
-
-
- </main>
- <footer>
- <div class="footer-copyright">
-
- <p class="copyright">Copyright © 2015 ccgus. All rights reserved. Updated: 2015-01-25</p>
-
-
- <p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1333)</a>.</p>
-
- </div>
- </footer>
- </div>
- </div>
- </article>
- <script src="../js/script.js"></script>
- </body>
- </html>
|