{"id":2407,"date":"2016-01-28T09:12:46","date_gmt":"2016-01-28T13:12:46","guid":{"rendered":"http:\/\/linguagemprisma.br4.biz\/blog\/?page_id=2407"},"modified":"2016-02-20T17:15:11","modified_gmt":"2016-02-20T21:15:11","slug":"tutorial-banco-de-dados-sqlite3-prisma","status":"publish","type":"page","link":"https:\/\/linguagemprisma.br4.biz\/blog\/tutorial-banco-de-dados-sqlite3-prisma\/","title":{"rendered":"Tutorial banco de dados sqlite3 prisma"},"content":{"rendered":"<p><span style=\"color: #000099;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: 300%;\"><b>TUTORIAL SQLITE3 PRISMA <\/b><\/span><\/span><\/span><\/p>\n<p style=\"text-align: left;\" align=\"right\"><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: medium;\"><b>Por Adalberto<\/b><\/span><\/span><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJQAAABjCAYAAAB9qyl1AAAACXBIWXMAAAJRAAACUQEaDGSkAAAt\/0lEQVR4nO19C5wdRZnvV33OvGcymckkIWQIAQKYEB7yUEAkCesDWEVxZfGxIhjcq3vx58+71\/V9WVZlV11XfKyiK6AX7+4qPngJASEGRZCEICQQCEnIgwlhMsk8M89zTvf9vq\/qq67q02fmTGYyJJhv0unu6uru6qp\/\/79HVdfJRlEEh+WwTJZkX+kCHJZXlxwG1MRE4XKY4h05DCgtapT95LGkJAEVlUj\/s5A\/Z0ApZ3HToETaaJIEURrIopT0V528agE1c86HCAgzcZmHy1FBoI5SSrXiUqsUVOCalqxecz3wPq6zeGIFtnwmUCqPcBrB\/WFQagSPjWDeYQW4TWulcBtymBe36Zgaxjy9QRB0VlZm9+IF9s6c1dj16U++s2vZ0sUF8AH3qgTYIQ0oBE0GVyfjciYux+BylCwGPFWUDxsbF2UWfa5sp9KPpJuD3OrGG9arGAdJL1l2+\/uHOFvHnl644qpvR7jdg7udeGgvnkPrTlxvxvRncPuZXL6wsWPXzbmJ1cgrL4cUoBBAc3F1Ni6vNwsBqVaOx4BRgIzE+zod9L5Bipsu2\/758X5SSlnhkQc4d5\/XClfTcXs6nnxspHQ+PqQiXiOr5WfPXb4Jt5\/BfAwys2w6lIB2UAMKAXQ8rt6ByzmgATQ3LZ\/LPgQcavY0EOljUMxUesPuO7vuXTw2iyCdmaJ4g1ehAzQXZGEYAapUvg4lKxVhW0QLMX1hFKl3Ux6TP4f1sBrX9+NyHy6PI8AK5dTfKyEHHaCw8sjmuRyX9+By+mh5BUiajWLQCIh8lpJjvOOxT+AALEoBlEApyU6Rp\/pMXhdA+KdcoEX6DAKTUungUkoDCUHF6bhdgcsbMCst1+HShXX0IGiA3Y\/g2j52rU6dHBSAwgqajavLQIPoXBjFs0pTaxZQ9BfETETrIKYiCzZKilyWAp+xTKJ3zzTx7KckQ4FmJxdoFmQqBhflF3AJ0AyQ+L4COIexmnB5t1mo7p4HDa6fIrgeLlVvUyWvKKCwMt6Mq0\/icgEumbHy+4ykYsA4bOQykQoCCyheOYBSrkVO58D4wCQSq7jEPhi2ctJF7QUqBpdmJw0uYacgcEGkbHoCWCInmOUarE+yub6Py60Iru6x6vNAyCsCKHzw83D1JVyWlJO\/FJBUUtV5gFIaQCpmICV5IAaUVYngbHtRqDHCUC5owLGTIAYUgwCUUXsqBhfE4AojYaewCERUBEy2azHoU\/phT8LlW7h8Bev4p7j+PgLrj+XU8WTJlAIKH\/IsXH0Rl7eWk9+69gySwANSUq0RG9nwgAEU55E0KAaU0hv6Xq7as\/cfu4zU+HYbHOMcjFqzgBI7ytknxjGAMqjiMrtMJMBKrimPBldqKKsGlytpwTpfh+sbcbkFwTVUTr1PRKYEUPhQi3B1PWiPrSyxTBQUs5PPUkatOWzEeYIYRKL2NMActQcOaMTbg9E8vdLieXHmPwKbYCUVYKjaCFTETgHmLQQaVFml01ybyq4hMp4jm\/cah+Go8dFTcPkuLp\/Edvh7BNWvyn+q8csBBxQ+xJW4+h4u1eWeo4EUeKAaDUjipSm7bewqC8BAX1eBZaVUllJ+cCAtJlVquI8FDe\/4NlMqwKJQM0xGaYOdwaKYsdiuMuowTLITga4QGjYODJhSbaukUOD3l9geD+D64wisDeW2x3jkgAEKC16Jq2\/i8pFyz3FtIFoyBKokmEYDkgMoqfBA1JiTH1TMZtZA50xOiCBBT0m2SradBk4KoCBWaRZgvAQaMOZiuIs40YaSEubisEOE3ooBFqZoMgo0wIzHGNteY7IVyZtweQrb599x\/Y+TbbwfEEBhYVtx9XPQwcgxJdVWSgOSZ4yrIiCJSuNtAxzr5bkAFIMc\/O6YpNpTJqKdpvq8iIEOecdRKY+domKAhcZjI\/VMqo0NdTG6jZFvgBVQXgkzUDkSalDxmmAZmHKE5YCK2v3juLwP2+pjCKqfltNO5cikAwoLeD6ubsNlVjn5k6zkgsfaTLifoXyZBBM5QCI2MsRlr5m0n7z+vITaK2akse2ooug4xPu+ukuwkyLj20TRIx38jJhhzDNEoQWW7rjBf4iZUGlWK4QxK2khla5VqN4uSwWSUOf5f2GbHYug+uexMpcjkwooE+W+A5fp5eSXBs5kzNpRcTGwAh84zrYASWwj5eQRdSa2mHKB5oYLkoAaxY5Kih\/XTI85JfdtPAm0IS6GdmTsIWXUoQWW0mmhYaNQQg2hZiXQSlO\/UMZQp3MLhbgsYzUDLtebtrtmot06kwYo0\/P\/ExgHmJKM5G9rWynJSkEm8PcTQLIq0YYNNDySDOWrPR9gfjnjba3YnH2vrSKPsWLPrhhQSsXMZbtaCDBBrA4ZRGRYWbVGYAp1AbDJQ2JtiMzziJrTIAuN6hsHqEjI1j0S2\/G9CKqBck5Ik8lkqM\/i8sZyMhbZRWSAZwLDUi5oglRWitVcMZACFcej3L68NEDpQz576RRRNWUFomz+JCMJyJKAInUXBy2dAGYCWGwvkaqjsiNbUTxfwEW2VQEPZoyaU+AwllV94wbVJbisRFBdjKDqLOeEpEwKoLAANBrg\/5ST1wWTVXWZwAOYSrCTAEyzlu\/VZYLSQPK3i1VerOYSLGX+UzA2oDwWAgktgKWv2KvT3SgMHhMxjzuCi4FFqo2HtojKCw1bEVqsdg04X4a4S4n6C0D3DcYAGyeoyJGiMM\/l5WROymQx1C3lXCsJpqSqIxsKAp+lPFVoYksqzXBPYS0b5DQIsYyVYCmVGCely1o+oIqMcydcYNnKAVZg2Ul5TMVqSxl2QvbRhrg2yFltEytl2JrXnp9RgRS1Yos8YwBEm5kYYPsBqr9GkvhPZKk7ysnsyoQBhTemYRUnlpNXwgLZTGx8x6ouYEZyDXPZzng2lMtOQSqQ4liUr\/ZsTMsBUBqgYvt8PwAV+elJdoJQOoJDm+4GLgMxwCMd5FRhqNmKLSh86UyIglQgGBVYAKMOI4YWCKike8oF1Ti+w\/wutu0qBFVPuSeQTAZDvb\/8rOZhlH6DMgn1lnFspozx8JiVUgx28eAsmDLpQJKYlTcqIQVQEkoAcACVNNDjJ4ifyKo2iMMD4AAoigfRCQNxV4vKcH5y\/ZXSBMNsYyIBREB6U4OBo\/3CXhzgNKECN09I9npgQWXVH1404jrRT1FGnIrkSFy+hsvflpNZZDIAdWa5GXWnp+ZeTckOSzleXMaEAyiLhA0yQTorCcMl1Z7LRjYeJTaWigFkVR+AAygn2AnFTBU5sPLZKe4ETgLMG0TnDE3hG0U6OGnZiYavFGSclAaTqMWCCWLqG2iQCXiIqbg7MAh8psooiEMMErMqC1RXI0v9EFlqdbltPBmAOm48maki8\/kC0m8IFRUZqK7WdVqRyUI2m3FYBzwVx+kJu0qAIqrRA5LyASXXA5sOBlCjsxRvlwEon52KAeYNU9G5vKEpgY10ayOcO4FDJwJu2YlEs5HZtLaTBQ2pNgIvAytOt0Noyhd6cBr0ODWAQvRSh2\/zeM8Tu2JkJNLAQiBV1URQXRVBtiLLAGFwqVjNgQkpuKwkXiLlEaCkRdLTAZVgqQSgAEY3zAVUpQCVZCdRdWIbucCSTt\/YOI87f62x7qk3sHaV2bGgYtYjAjMqUj+OjqLTdfL5cLygohEi\/6vczBNlqLJHEKSJy1Y5XA8OBFBRmUXWqoTa6gqoxO2KCqP+MoENL6TZSV4w1AWUYSNrqxnQlNNRzCtVAlBiOzneWilACTvpUQXYoFQmMxZKgGXXMtacQMVGtXHxkuEA5TASlTOSl0RxJ3OBgRNy\/eZGCjCSy9txVuOUY5E46lHt7Ssn80QBVTXB81kEWLSMjORhaHAE9mUDBlQNgqsKwVVbU4ngyrKaJGBp9aisjWWN9FJAclkKpEvGiZgbOyoZOoASgBLAGMKA1EF0RsX57KTikQMmJBAa3ERmDWQzFZQGIID58CE0BrsGlg4l6AF5ygCoAJrx8zkNoOGh3ESA5Ar1y04JoConeH6RuOAawgrp7x+2cSsBWG1tFdTWVfGa1CWDK2MAYg34FLZS0h0DznYcr3K7YkjGZKfU7pUwDheAjh1xSCCKzAhNAxS7DrW774x9IuO8YDp4rdFeUKwWiX2ivI6GU34CD7H78HAOhobz+ELmmJFIbU4CkETIrHmhnIwHBUONJvTGsUrMAQNs374hAxY6qhBMAVRVVaCa1CwmYKupqYJKZLPKygpQFRpsoo4UD2QD20nLxBDGxrgMyPMYDJSXpq9nriXhp0h37IqFRZ5alInsqEzbTxe67KQDlZHSMSodL4oERzrwWcAXrKBZaBgBMzSEwEEADSP75AhEuGbTwVwfJgdEXjOUm\/GgB1RSuMLCgn1CAtogqsikqx+Ljr+QuqwimwwBRkCjfQ7MG+Pfdv\/QNqaJerSMpzTrsQPudVDHajUI4rCHjJSwkXphMxMDA9PuIakoCk6yrZPnl4bYJpfT6l\/AMmKOsVoN9UtGAIomj4VGk+FyMx50Km9\/Je6QLTrCHk4+P8INgvDzjO+0TuJAECABVC+GUOz3WbspJWQg8R66rqghCReYCxr7r5R6Bau6pgA4pWTKADXlDDUR8aLaRTHvqS6L3eL\/Cwfo43JyYojt0kS80zJkpNz7\/VkB6s9R6utr4OTFR8P69dugq7vfpk+bVgNnvPY4+N3DG1h9jiF\/firvsKRLV9c+ZqErr1gGW154GVb97hk4Zv4s+IsLToW+3gF49LGNBxWgDjPUISBrn9gCp50yH85+\/YmwbNkpUIme8cDACFTguqa6ytiWo8phQB2WWAYGhuGxNZvgHW8\/C6qrslBjgsRk7NfVVaEqHDNmOWU21CGp8j7xiTfDSScfyX2GmUwGPvWpn0PH7l7Po3q1CXmSFAAlQ7y6qpKZieTii06H237+iGdfJSTfsevmMXWiyEHDUOeffwI0NdfqAXhZ6bfTEXKKM7W1dcPOF7tg50td5Q69KClHtjbB0fNazJ6CWTOnQUZlYHBoBHrRrijlFR2qMg+f9fgFczi+RfEuqt\/amiqu21NPPhoap9XBPSvWwoZn29JeprLVHclBA6i\/ueJsNBZnjpnvoYeehx\/84CHo7RnChs+XY1AWScaJ+dCbW1dbDSMNBd6mSPw4AsMHvVB3VdP0Ou7CIrtpcDjPkfjqmgqoRPU3MlLg9GVLT4YZMxpgNarGhE1VtrojOWhUXmC6O0hK9aGRLF16IixadCR87rO\/hK7OAegfGBo3o2SygbfPfWhB4H258moRirA\/tW47rFu\/g7umGhvr4ENXXQDLliyG6bj9o\/+7Cn67aj3bWYPUmYz5E3JoMlSykUeTWbMa4JJLToO77lzHA\/BITdE4n3Ll3nvWwx8ffYG7SepqK7kySRVEE1SlB7PQi9KPz0nLv3\/vXli8aB60tDTA1q3taEaM+sXUIQqojA+oTZt2Q3f3AKcvOmkOGpIV3vE3v2Uh\/Pa3m7i7g22DwkjZ7LLi3qd5TVHk+rpqBhaBiTpe90eFjiV19ZVoB+bMsF4\/Ol2FaufoeTPgha0dRZ3CrlBZFy6aA\/OOmgEzWuqgFl+E9vZeeGlnFzz77MuoqofLdii6uvrh6zfcCTd8\/UOT6uGRHDyACnxA3X\/\/Btj4XDvkuJEL8L4PnA1Llpxo+9FoEF4zGvHU604jDOqx0Wi0Zxa9tmyFgu3b93IDnnTSkXDOucdDQ0MV\/OTWR6Gzsx\/OPudY3K\/mYS8Ui7nn109DvlCw\/Wwk8+e3wIUXLYZWNOBnttTDPrQzursGYNPz7ahCXoQtm3czAOQzqE\/+w4XMshV4\/yEs0zdveADOPOtouPTS0+GUU4\/iYSa33\/4k\/Nd\/PsZsWlUVoOp5Iyy54ERkySpWNXTs7rvWozeW530ZXbn86vPh0nedBlWVFZAm3T2DcON3V8Hq1Vt1hzIuYwFrzeOb4f\/99+9gz97esZpmShlq0myoIrumoCskh5W6G136O25\/ApagJ6g\/QdKwIq+Q3lJir8994WI47rh4fo4PXXkLvPOvTodL3n6qTfvtyo0I3AwsX\/5GmDu3yaavXrMdgUkD0vKwr38Q\/vry18EVV5zrsabck0BN8rWv3QdP\/mkHG7RD6B2+5S0n2bzdPQNw9tkL4NOfvZDHa5HQMJrLLz8L6tCO+RUC6+oPn4d5jrXn0BCcK686jwfX\/eHhzajGB63HOe\/oJg9MSRuzaXotfOazF8PX\/\/V+WL9uJ\/T09rMRPpY3\/MMfPsAv0hhyqKo8v5JkZhFa0\/CNZ555icf\/VCELybizxsZaPbY8qz9gEKG0t7x1MbwD7SwZp0RpjY01MDiQY\/Xh5p1WXwv56gL0BYPITDPgyivf4I1GSJNKLEdzcwOy4wgD3hUKGv7dNUs5D98e7IhiePOFJ\/EnY+ecc5xlEfceb3rTQnhi7YvM2MRqfYXBImDTILsko5NcdPHJsG3rXmToDNZbD4N9NKaioTFlyKGq8vxJgAuhjAzQamXukU0MJi26iXp69JwOOl7lV\/Al79DM5H4eRW8\/j13KJCYcVsqM+FRw6btf64wrV2hX5WHH9k50s7PoDEzjMVVcAv6QQJngqA+6+roqXnj0KearcO5H5\/\/lX57C231o91RWZjz7kFTs7COmwcu7elAt18DA4DCr8ccf3wZ33fUksmgI\/ftG2I56zcI58N73nmXPXYQ2VvOMelbrDfU1bFvm8xN2NA5VlZdgqIIYmHqI7utff0x80DT47nZtUJIhnRxPVGcadOdL3Wz7EPPkKW5F0WIHe2FinNHRR8+w22SH3fBvD\/L1SSVS4y5ceARc\/LZToK9viAfEEVukjWXqwnt+65sr+cVYfvW5bHi78uRTL8LNNz0C01FdfexjS9njEhyTbdj+ci+PQiXQfvOG38AuBBgFJFtmTOMyk2f2pz9th5MWz4GTF8811aL4enTvOnQ2OruofibsZLw6VB5VKgUulWqE93\/gdXD+kvhrd8o5iG8feYEEBmrYJENRQ99y8yOw7qmdDCLy4CjiToaum1PmGODr4nomspDIC2h4m0\/l8F790Ns3AA891IPLc\/pbwooKtm1USsTjDrST9u7t5xGZax\/fgd5Zs70Hya9+8SRfdw+qyw2ozs9fcoJR5QodjGpTJ5p5CUz8TPiSkX1GddPa2giVyGw72zotoEgaG\/W50tswCXKIqryEGvrQ8jfYbRkP55ozKx94zoy3Dpk5ggQgH3t0KxqoL7H91IPGLYEvz31ZkR0zzpcN4zeYrteN6mKWAdU5b1hA431hw\/qdMDg0xEHUeOZdfHWHtUdFY4tcCaMQXfl2BgcBeO9ef3qAl3Z1M4vQ\/cgjpO4kV2qq42bJmC94Tj21FT6IRvvxx8\/mIcylpK4h\/rJNPjObYLD2EFB5CoqG0WZKDIE12b0TCCCrVj7P2wPIOhTjySaM1NWrt\/OaGrSvb5C\/BtEfKIAHvkLoxn6A+wwFUDWoci5YdgIvBJJt2\/bA6j9ugzvvfAqN+2Ez3jssUtd9fcN6\/HdEMbIRBHM8PTg1bScylzQ0AZKMZ+95ZShyoG2+D155Hrzvfa\/zaqRUZ4LUo3wQOwlykKq8FBCJuDOkjCU70K659dbV3GDETD2oioh5gkTldezpA2q+kVyOj3MRzC0IAHK3qBDZY1SG23\/1BJxx+jwpspUMstpxx8zi5dzzjocbvn4\/qsBh6Orcx5\/Ru3n7eofsvUilkqq1EmnASX3omFSFe5hVm8iCBTPh8vfE00dIPdFLREZ3dbX+MDY+337K7H0Sxin7R1QHF6DKwUnSwyOhoRb0BpNBTG\/0jh2dsGVLB8doqBGoMol5qLEoH4UO5FYUahjo142Yz8kclHFBsggAKZj8\/Jg+OYInntgO3\/7WSvjwR85n7ysN6EfPa4aly14DK1du5BBEPp\/zHjSXj2M7xGykzuU6GjChZV2K0GedGJwC+ZkOvbPsgoVeiOCFF3bDHXesg21bO9l2vOjiRfC2t59m6zpywBglxs3vJ7gOjs7hsYEUZ0jaPyRf\/uIK9lKGh0Y4PKA\/F9JvPH8dmy8Y0Gmw0JxTclOOFJvKDKNiQIkDQHkK\/HMYZt5vw5T33LsOfvf75+G004+CM86YDyeffCS0zvW9NOoOWrXqeQ4DkGp0JTRxLx3\/Kg4rRHLc+4o5VlX2Sxks39zWeMpSOrZixbMMJvpWb29nH0f84w8uFD+vfKo\/GmakOsoA1ivPUKODyT9IebPZTMpx\/RbTV7A0pET6qfTEE2CM9FhVuiqvIJ6b\/TzKpf7IuvmkEgr2kyZnah9cqBOV2PCRP2xhhliwYBZ87V8vsxN1NDXX2akYK6t8hqUZi\/g3W0xBg8APTIYmhgXmXpmKRC9BGNlyzJ45zXsZOnb32Wch7\/W1Z87z7x3qeyr5EtXUZxRFqe1SBrCmFFBFcfvSYCoGki2E8wYbpvfceQskcJhG+dfIBDJnkmLa57mYYtLyYkViwMtHk3peA32\/Y46dCS9s2W2nDOKfz8B7U2d1J9pLs2Y12nKYqcugujK2ofS3eKFjVCtUi8nhMmBVGklFEIAbTxfWpfN7UK0fMafRTLoRwJlnzYMHfrORX8KPXrMMGutr7H0BpIfBvHEOSnzVXYyeUYA1pSpvt7uTDqbSQBLhKDXIC6WZxZK41LyKwIOdirypdlitiF2UiC0RMCKejCLiqLP0B8rZfNw04pevvxS2bO6A+3+zAQbQeN62Yw\/3xy1ddqLx\/jQadrf3sqrWGtVFd8Rqh8FoPnvX6hjsJ\/DEIgT4ApWBDgWBV0\/2Q1BcKMB54gmz7bO+7W2nwuvPPhYqEaTTGmv1bHj0dbScmwCrBQoDTO6h7Cf4Ra2likA1pQy1q7T35jR\/CdaSRs9WaCpxwwORM9TDmwvT5LFVaO7PLrIBBdsRZA9F8Q8RyWfg1M\/mvq1sIHNefQ9q\/NNfO48XMOopSOk3oz4zYoyI5yKI+8RkroPAAbR2GIwq4gnEQjN3qL5uRWUQPys4LwQeX3HvMzw8muvEgKWlpZ6vt3fvPnZUXve6Y+z9bcwpYUMpkBdVA8vxc1PaxQPVlAJqpUqdg3EUMLnAAFPhQca8MbGxHIK48jrFjuhUohZjJPPEY4a1wEzwlTEVKv1t8nsp3DEsbGE+Hc8Yo5znJSB7TsAAxeO0SF5Gdnrkka18fN\/AEGQrq60dxtekqXZo5r2QMcFhBQC5p1GzoBufgJdVmbja6ELOnAXPPfsS3LfiaXjrhYshnp5DcQzs5lsehXPP0RMIRibIRp5fSMNeZJ6qouof3Vh3282cX9Y0PiITAlRNTeV9Q0MjNADZcXNKg8mfe8kqOXab5Q22LEOut8wtESjD5VKd4DCaZh333oW8jqBHMkMcsZQxUEl9xcSvuM8w5CEcWs9u3PgyLF48V9tkKdT6zIadcPed63kcVt++Qeju6ofpzbUwZBqSiklOBM2KwmyAoKKhtS+2dfLsKXTN9vY+DsjypBfYai\/u7ILVa7ZyWejl2LWrG68xyMfo7zvfWQmbNrfDWWceAw2N1fDshl2w7qmXWO0OYL7Vj23hstD48ba2LujtG9KTjoUSf\/Oj5Uq5KrA0UxnZWupAmkwEUGrHCzf2zDpy+S1YGMNS4wFTvKYxOWuwQnUnr57JhPrOCBhDgzlITl9oz7UkFcGPf\/wIVyABYWiowH1eVGnUqcs2kgEivdmf+tQvDDMpniano6OP65MGtl3\/pV\/zAP6FC+fAEUdMh+lNdew0kHf18ss9sH0HAiOnp9Wh0AXZMDTY7oPvv4nvx1\/r2K4dPdrgDw9vgocf3sRNVuGENzjOhtf49d1Pwd13PcX5CfA2NGnsaqqP++\/bAPeveMa+QJlAM83L7V0cl6O6i19MHbrQAAb7kspcVrqljAq0OIpfcLcN8fjmcWBi4pO2VlVVfHp4eOTtePs5bkH8grm2j3LyaIDs3dMP\/3jtnZxOHpE20s0Dh8Z4tJPWQwwwEJspgjvv+BNfNGNmChY7OYwSU0nj3\/Zte\/jeMjOwXIdBho1CoYp1T7XxYDUnXKTz8FxP5g1XsUqUkREk\/Nt1OlXbcZnAMkRB+g5t2yqwDioAA1yuF0k9GXswMi2cy+VgxJRBmWmr6RCfK2WLHL\/R2mcCogRbldaBmzp23TwlgLKQeXHrjd2z5y6\/Bgv1Cymgl9EDk6TpBOvAQWx0U7dDiExjAaCUjTH5+R1gKmOiGwYLo9ge49npMg4jikEfF8thz3hqn+K31VwjECsksHmkQVwGkA5td4Y7ySuz\/drzImX2lZ0ZJpJLOT96reReNhSn5K7gWaaCJLMWD9Yd0Od1GCtX\/Xmm\/I9TK2MUmZSf5mjfedOvEFS346O901d7CTA5npzbkMoAx+ZRKWBLsFPavE7x+aZ6g5jaAxeAEJcDEuVwC1xsQfliG1+vwO5F\/nH5bRcXZPKFjQegSI4bkEVmtl9l2lxsSjupvnZleG5y8+sLPHm09Y71dZRMGlsCVL6hbvGzFx2Ym8aogiIZN6BM8YrSq6srr0EDfQluNiVbImaLhP2k9O8ogQMQCwQXfEolgOSADMDbj4EEqfn0Wrb9zlP3BXBWFsgkaYCho+4vUbnHqEEDky7HQqPLIsnvsJBMXiaqiJ0JCxTDcNZbAZ5W0eVL\/btUkWWz0UDlck9S9WG+5Tu3\/6AdinKOLuMFVCqYSLZv+d6uecf\/j6XDA4W78e5HmULZwtpiSeOkgUk5dpKj2oqB5APC\/gK6Ks4v9\/fB56SbDavq0phJJXacKohZSlnG0EwTGVXmgEBUl\/HemIGElbxFGj3+YesgctWUUJZyZ5YGKQnnVVK+mKn0Oe6TKEhtTwXfRa1z55j5UmSyfo2Ki79j0\/efXnzaJ87bs6fvLtA\/7+7lsJ0VRWBStnGtqpN0UPZHFovyu7\/jApACPJUAkrlH4LPTxFWeKjKGBTwkYQoLSV5lmMvMjW\/B5AKsqC2FL8Qw57CKLovgPTbWXXCaY0kbypdnGuZm\/\/cYj15SJu0HGFetWgVLly6Fp5\/8xs63XvylJeuf3n4blvlNrs2SruZ81kkCJwA\/PUgDVpoqdBkuKGY7LpVBcExOSSAldR\/E1rbdFBYS1SfAUtZTy9Au\/ySZMgByZg42EvhXdW7qGckmyVFZom4NUylj4IdK1F4JQzxd+tFueu8Vq+cOuYnlshNJ2YAqZTtZWRpv3nfP5\/uuve6nl9x0y8ob0YW+Qkew9YNaCnesEosKfaMYTCUYx99PpqeDDBicMRgFOF48S8Al6ekV4TGAbj8xVviAOQaxZqLtQNtDMWjSrl8qvdTxKHFIVJMJM4wDCChbEEyXot309HhOSsqkMdRSF1Eo1117eQ6Xq4858e8eGhnKfxmTjpBjyqEBZf8gZgmWZOU5bJEKJkgsKarPslYxqATocjzWK3GZbGN5ZXLLmbbtpJlNw2WJ50uK6z3GZRm\/uKiWbcen0w+7oqVl2vuvffKc7v28iZVJ\/VX0NHlk4xd+8vm\/vf2OlSvXfyaXz38Mm4MH5ZkXyhPPG7Tbju3jNIDb9xf7OYkrFV0fIGZLLzW+FyTPccAfOcapMs62\/FAibyr7cxpeO9pz4pXEnkYDSnzvGBBRyc+iikEnxrRrVNtceiMKAvXPn\/nUu6792P+8aFImdZg8Gwr\/kizV1tYGmdYM3PSDj\/btgT2fe\/dffPtH23bs\/lpYiC5UlmooZ6m3XLoL4nyB+Ql6e77Jl7xGZGi\/CLWjskK6UjG\/5+M0lzIeXZzJGuJumgWUAx6LIbfx\/W1jsttQQ2RPc1kPoAhEkb8RJdaJO3VXVGWufnHL929PFGBCUjagRtPHBKaEcGu3trbqU3G7BVrglw9+fHMAwbuWnfXlC7u7+7+ClXU8yI8QglthcpFioMWdmmmuj1\/i0d7Z5BHfFNZMoOQ1LnriyHpYHpAEeB4QTF7Xw\/O2oWi7mLiSgIsBZsEnWxa3xeA2G\/symcy3j5k\/699+v+qLXWthLZyBfyS34d9l+DcRmQyGUg4zqQ2wASrxL2v+WqHVa+np+Ldqzefvy+0J7r\/oHV96U3dn\/\/J8PrwIT3U+RpI3y21SB1hGn7l85DeAPiI9aoHRiGI767gM2BCFvbqQoQQnUx838ba7oLHgMccToHKn20kHVjKteD9MOcYFsT+dZzjRepmWIweDTHDj0fNmfPXhh67voDQDJs5gwFSKNcpmsAkDKoHqaBEsKuLk9vZ2NXv2bGiG5qgLulQTNEW9Lb2w5g9feWAf7HvwE9fcOuexP2y+YnBw+EqskFZpZTo5dGBlL2mGsoQqBoX7WZ83KA+XAq35VzMjbecoic84GtGOCFUQjwYtoVrsffj\/YmBJehIwpdjKnC+fxcsHGcJ8MgRa2NDRgQD22j67xcCCkSAb3DR\/3qx\/+d1v\/2mX+yACJpJRwDQuGU\/YwCP\/6\/DvWvwzBfFYqIilZseqD8EUIqgCBhX0wjT8+8Z3PrCrHuq\/2ta29+vv+cA33rJ3T99VuVzhzVgpmSIzWViEl3gwf4FCEY6XF+cz4LFgMs8jAHLS+CnFYJJntYa08\/yu2eKBygDABBl9EEGCneJ9+aUqq6rGYi6ImclVmeAykoJnK7KZn82bN\/PWVQ9e92IbtEXbYBvk8W8E\/\/DFT21naddS7T6WjMeG8oDj3jSZNY2l3DVdyzKVARVJa+uMwn13f2aFqlMrvvAPP5v96KOblvXuG7ggN1JYhm\/oLAsi19uLYtDwBx8mxmV\/HlWJp6hvbwOtFljKWYdx\/EkMfzcYKHGeKL63PFpxH168TgKJJIxctipmpCSQ3GtZoIZgwWW6WLZWVVTcNmtm4213\/v4T66OOCGbOnMmXRNNDCpt4Y3wtk2zXyKuAsWWyvDwPbI6hlwqqZv0zxQQqM9JHX6MP+oKGuoaoH\/rVP331svY6qPvvQRj8Wb4P1FUf\/c7JO7bsXTYwOLwsny+cjRVYFYNEmEUDJXJiTrE6dMEU11Fat4sfcnAZ0p0HwX10327y13G6C6g0oPBemACVqybN7VwAYvFeqqzI\/qKppfa2++769ONNTU1cyHZoj8K89MfohTQHSZKdRN0l2Wl\/ZDLjUBZURje77hmY\/WgX7FLo6UWzYTarP8nX09OjVKMKEVSqARr4PAIWAipsaWiBn\/\/kk+sGBwfXqxr1rXvvebLm+9998NyOPT1LRobziwuF8MRCIZpj2Uv5TKTHp\/sgs6ZTEaDAqsjiqJR5oMh\/PPcddhve5rWqzM\/vgip0GCoGkKMu9XZBBQpVWXZNdVXFmpbZ9av\/49YPP3fczNbQ3DHqgA4I28MIbdYI9JDHaDNshgX4Z4CUZBy7P1EwkYwXUEX2kitCnSYmVQQq1OFqPsxPo9CosbFRAksRakHVp\/oC1aCiaqgGBBblCetq6mitLr347AFcHhgaGnqQz6kG+NEtDzX+5r51J3Z09L5mYGDkNSMj+dcU8gUC2hHCZHyyAyre99DlpIEEBKVUkZfJBhgdBRJ7e5LmG+zeIDuIrxkl8gmIsKwvo4v\/eFVldk1jY+2aCy859YmP\/\/2F+\/CFi3qgR1+xK4LOzs6oubmZATUTZgLM9tRaRGBy28Gt95S2KOdYSdkfhvJARTRJ4qF7lV6tXbqW16T+NuuhybZVkKl4Yw7Mce0rPtY9rZtG8ISmU0YZczpCj1DF4UplTB6laqAGPnLVW7tweQyPPTYEQxYit9y0qnHlb54+oadvYBayWRPaY035QqEpLERNhTDkdRiF09FGa0Zjejo2kZ2bR4z2mG7ikha1jENTrjosAk+8ncOiI12rndkg05bJBDuzFZkXa6srdzY21rUtPumotq\/+ywf2OnXOJ3VDd7StextMmz4tok8iWpr4FyEiVHGIo9lusVx7CWB8YNpvmbDKIyAJqEgXI0upy5ZqA89xSxV6FpGhXG6SOYaPSQUaULHsgT0RBUFNPs6LbyMDyBjvnL6Pvu6hKTb7NXZIPYr1owYRZDU1gOoSrly+pOuq9y99jFgM2U6r16EeVVVdRfswDMP6AvT1WRXAn57YWvnccy9V7W3vr+rpGajo7e2vGhzMVQ4P5yoGR0aqcrl8RW4kX5UvhJWoaivRG61EMFYYDZtDdY5qCdcqyKsMgyaPBctng2wOMpCvzGRH5s1r6fjMtZe0N0yrYYsJbUV6WQA9XV5TGrEQFBvQUdgZQn1YH9GP5CIb2XQEk1ShqLiJgGm\/wTYpNpTLTk48w1WNETYu76NhGLlGIQELXVowXggUnK\/bBVyN0KjIK5RrMcB6EWDTpkFfHSrHPrS7GhqkUQAJSxk1qbCxYKB6ALFXy\/tUjsbqRgYbSTiIREicVEWn1cBpi+YPnnb6\/MHRnpeASCLXwPMi3h6kT8s0kCltAPi+0cDAAES1sWVFAKK1LS+mE5jI4yUw4fPycXxmIE+YjmNdANUFqbb2dmYjPs+pOwuuBRsWgFPFSW\/ugIGJZH8BNaotlZZH2CoJrM2b8W1asMDaVzmIf2fEMBV0dHSw+yuViqBTzdPYU1SF7kI0ffp0IJBhQ4CEIeh3x8m4d4x82Ldvn6qvr2ebjIBGEtbon0O3++EYfaQ0T2yt3gzJjurnkyPeNqeal0Kn0X5tgRkHy8JrKaPkQzXGPQiFrgKgl+YBiIxsYqJCewEMCZHBbYuD6r2YkRZpUMgYNTqHNccYYBpvzClNJsJQ5YIKIAVYov4QTOzO4n6E4KL9oouYWAr3B4qtgBWtqKLzef0ZOIGJ8lBDSYyruxsbarqeDqett00Ro5EQ2EzjMpAIdLJfW1s7+hPhYcrLgitiRnNNARQDqbe3lxmUjGdhHAQ\/9T1ZIMmawESCYLJ1JgCiQCSl0adTiTrldSmD24DJppUJpgnbVRNVeeWASvJBSt5S4OJj+OYpp8JYxFYgMLH91aJtMdcoxUbg+xCY5E2vzdcq0zj2uACOGlYatRwRxutuIG7R7MJpDY6aMnO\/FjoRGM36OQX8eNyyrntdclTEnhQADeupBaKh1iG3Hr36S5HIMBPLGPElCWaM+dzlyGTYUKXAMlretPwWXGthrSLPMM2wdEHmeIgMNLEnxFg1Bj\/nzTXnrOFKDUrSketQG\/dshOaW5nKflYVAKiJqWUQYRfYdZoGWlhZ7DMGUfHbPORka0gBCM4D3R3H9WdLso+uuQyBde+2YYJpMmezAJkk5wHLzF53jdlqKlACZdx0nXMAy7Ewc4nhBPE6L7NjWma06bjO6FD0PgciwSfI59D3x8m2tGtyuvUN9aSYOZ18Ex\/7xrkOq3x0NkDbezD0nbdgJgamEHJCQAcmBGLEpX4GN6xzZuO02NB4vK66cvlV9UXF9ItDWItDO0ON5kmBDLyu1EGacFjkEil78pFotVTZXjBcJSYOYPa5WC+5owwZU4YsWSXnicsPaiMBCzkSpe8g4JRIDptR84+gyOWBAEjkgQ4CjZFi5DLGjFy5LNx7R5ki9FoLJ5k++xaV61C3bLShiu7JFQEhrYhIui8OsAjIBk1set5xJNi7TtfdkNDCZr10OOJBEDvSY8uSDlARYqUoZC2iuUCMZ93jUfGkqdSLiMsloguzLz5GiuqxMdMSkkThWP3VYYjngHykkJO3pRmWx8XZYTtZAsQMhpMono0ffkYPuWacaUGkyWqWUrTIPFRkPmKZaXU2GHAyAGk32qzL3wyk4YDKRgOEhhiWWgx1Q+yWTEfGdLDlYgD1V8qoE1GF55eT\/A7wxF6DKa\/cAAAAAAElFTkSuQmCC\" alt=\"\" width=\"159\" height=\"87\" name=\"Imagem5\" align=\"left\" border=\"0\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/linguagemprisma.br4.biz\/blog\/funcoes-sqlit3-prisma\/\" target=\"_blank\">Link para a lista de fun\u00e7\u00f5es sqlite3 Prisma.<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Nota: Problemas no Win resolvidos, releia a parte <strong>4,\u00a0<\/strong>exemplo\u00a0j\u00e1 modificado.<\/p>\n<p>Eu, pessoalmente recomendo muito o Linux, especialmente o Ubuntu. Pode acreditar, vai evitar tremendas dores de cabe\u00e7a, inclusive se for correr um servidor nele.<\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>Requisitos m\u00ednimos:<\/b><\/span><\/span><\/span><\/p>\n<ol>\n<li><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">instala\u00e7\u00e3o completa prisma-1.0 mais recente;<\/span><\/span><\/span><\/li>\n<li><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">saber criar um arquivo fonte com prismacod ou outro editor e execut\u00e1-lo com o interpretador prisma.<\/span><\/span><\/span><\/li>\n<li><span style=\"color: #000000;\"><span style=\"font-size: medium;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Caso n\u00e3o tenha o b\u00e1sico de entendimento, sugiro que visite o site <a href=\"http:\/\/www.linguagemprisma.br4.biz\/\">www.linguagemprisma.br4.biz<\/a>, baixe prisma &#8216;tudo em um&#8217;, siga os primeiros passos e leia o manual b\u00e1sico da linguagem prisma;<\/span><\/span><\/span><\/span><\/li>\n<\/ol>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>Com este tutorial voc\u00ea aprender\u00e1 a:<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i>\u00a0 \u00a0 \u00a0 \u00a0<span style=\"color: #000000;\"><strong>0. <\/strong><\/span><\/i><span style=\"color: #000000;\"><strong><i>Defini\u00e7\u00e3o resumida de<\/i><i> banco de dados;<\/i><\/strong><\/span><\/span><\/span><\/span><\/p>\n<ol>\n<li><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i>mostrar a vers\u00e3o do sqlite3;<\/i><\/span><\/span><\/span><\/li>\n<li><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i>abrir\/criar banco de dados;<\/i><\/span><\/span><\/span><\/li>\n<li><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i>criar tabelas e preencher com dados;<\/i><\/span><\/span><\/span><\/li>\n<li><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i>ler e mostrar os dados;<\/i><\/span><\/span><\/span><\/li>\n<li><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i>pegar o n\u00famero atual de registros id de uma tabela;<\/i><\/span><\/span><\/span><\/li>\n<li><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i>pegar o nome de todas as tabelas existentes em um bd;<\/i><\/span><\/span><\/span><\/li>\n<li><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i>deletar e atualizar os dados de uma tabela;<\/i><\/span><\/span><\/span><\/li>\n<\/ol>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: medium;\"><b>0 \u2013 Defini\u00e7\u00e3o resumida de banco de dados;<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Resumidamente, \u00e9 um arquivo criado por um programa para armazenar dados de modo organizado, sendo poss\u00edvel, posteriormente, consultar ou modificar esses dados pelo programa;<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: medium;\"><b>1 \u2013 Mostrar a vers\u00e3o do sqlite3;<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Crie um arquivo chamado sql_versao.prisma e copie o conte\u00fado abaixo:<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><span style=\"font-size: small; line-height: 1.5;\">\u00a0<\/span><\/span><\/span><\/span><\/p>\n<pre class=\"lang:prisma decode:true\">local sql = inclua'sqlite3';\r\n\r\nimprima( sql.libversao() );\r\n\r\n\/\/ sa\u00edda--&gt; 3.9.2<\/pre>\n<p>No c\u00f3digo fonte acima temos:<\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><span style=\"font-size: small; line-height: 1.5;\">local sql = inclua&#8217;sqlite3&#8242;;<\/span><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Esta linha serve para importar as fun\u00e7\u00f5es da biblioteca sqlite3.pris para a vari\u00e1vel &#8216;sql&#8217;;<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">imprima( sql.libversao() ); <\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Acima temos duas fun\u00e7\u00f5es: <\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">*&#8217;imprima()* \u2013 que serve para mostrar um texto ou n\u00famero na tela de comandos do Linux ou Windows.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">*sql.libversao()* \u2013 esta fun\u00e7\u00e3o retorna um texto (string) descrevendo a vers\u00e3o do sqlite3.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: medium;\"><b>2 \u2013 abrir\/criar banco de dados; <\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">salve como: cria_bd.prisma<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b style=\"font-style: inherit; line-height: 1.5;\">\u00a0<\/b><\/span><\/span><\/span><\/p>\n<pre class=\"lang:prisma decode:true \">local sql = inclua 'sqlite3';\r\n\r\nret , base = sql.abra( \"teste.bd\" );\r\n\r\nse ret == sql.SQLITE_OK entao\r\n\r\nimprima 'base criada com sucesso!\\n';\r\n\r\nsenao\r\n\r\nimprima( \" ERRO: \" , sql.mensagem_erro(base) );\r\n\r\nfim\r\n\r\nsql.feche(base);\r\n\r\nleia();<\/pre>\n<p>Detalhes:<\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b style=\"font-style: inherit; line-height: 1.5;\">local sql = inclua &#8216;sqlite3&#8217;;<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">No trecho acima inclu\u00edmos as fun\u00e7\u00f5es da biblioteca sqlite3 na tabela sql; <\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>ret, base = sql.abra(&#8216;teste.bd&#8217;);<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Nesta linha abrimos o arquivo &#8216;teste.bd&#8217; de banco de dados ( \u00fanico par\u00e2metro \u00e9 uma string descrevendo o nome do arquivo \/ caso n\u00e3o exista o arquivo, \u00e9 criado um, caso exista, \u00e9 aberto para leitura ou grava\u00e7\u00e3o) e s\u00e3o retornados dois valores: ret e base.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>Entendendo os dois retornos:<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>*ret \u2013 <\/b>\u00e9 um n\u00famero que indica \u00eaxito (zero) ou erro (qualquer outro n\u00famero);<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">*<b>base<\/b> \u2013 \u00e9 uma vari\u00e1vel do banco de dados aberto. <span style=\"font-size: small;\"><i>(os nomes dos retornos ficam a crit\u00e9rio do programador, aqui eu escolhi ret e base mas poderiam ser outros.)<\/i><\/span><\/span><\/span><\/span><\/p>\n<p><i>( Obs. a vari\u00e1vel tabela <b>sql <\/b>recebeu o retorno da fun\u00e7\u00e3o inclua&#8217;sqlite3&#8242;; \u00e9 por isso que podemos usar os m\u00e9todos ap\u00f3s escrever <b>sql.<\/b> )<\/i><\/p>\n<pre class=\"lang:prisma decode:true \">se ret == sql.SQLITE_OK entao\r\n\r\nimprima 'base criada com sucesso!\\n';\r\n\r\nsenao\r\n\r\nimprima( \" ERRO: \" , sql.mensagem_erro(base) );\r\n\r\nfim<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Aqui pode ser lido como: se o retorno ret for igual a sql.SQLITE_OK ent\u00e3o coloque na tela a frase de sucesso! Caso contr\u00e1rio (se ret n\u00e3o for igual a sql.SQLITE_OK) imprima a mensagem de erro.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i>*Nota \u2013 SQLITE_OK \u00e9 uma vari\u00e1vel reservada da biblioteca sqlite3 que tem como valor o n\u00famero zero.<\/i><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">A fun\u00e7\u00e3o <b> sql.mensagem_erro(base) <\/b>retorna uma string descrevendo o \u00fatimo erro contido em &#8216;base&#8217; que \u00e9 a vari\u00e1vel do banco de dados aberto, lembra. \u00danico par\u00e2metro \u00e9 a vari\u00e1vel do banco de dados aberto.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>sql.feche(base);<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">E por fim, n\u00e3o se esque\u00e7a de fechar o banco de dados aberto com a fun\u00e7\u00e3o acima.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: medium;\"><b>3 \u2013 criar tabelas e preencher com dados;<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Quando criamos um arquivo de dados o que pretendemos \u00e9 gravar dados nele, e de forma organizada para pesquisarmos esses dados futuramente. <\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i>*Nota \u2013 Daqui em diante, ocasionalmente, poderei usar o termo bd para dizer &#8216;banco de dados&#8217; ou o &#8216;arquivo do banco de dados&#8217;!<\/i><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Para colocarmos dados no bd de modo organizados criamos tabelas, uma esp\u00e9cie de estrutura que lembra um prateleira com v\u00e1rias colunas e divis\u00f5es horizontais(linhas), para cada coluna criada devemos colocar o tipo de dado correspondente. Para melhor visualizarmos, observe o exemplo abaixo:<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">tabela clientes:<\/span><\/span><\/span><\/p>\n<table width=\"454\" cellspacing=\"0\" cellpadding=\"4\">\n<colgroup>\n<col width=\"56\" \/>\n<col width=\"139\" \/>\n<col width=\"132\" \/>\n<col width=\"93\" \/> <\/colgroup>\n<tbody>\n<tr valign=\"top\">\n<td width=\"56\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">\u00edndices<\/span><\/span><\/td>\n<td width=\"139\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">NOME <\/span><\/span><\/td>\n<td width=\"132\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">ENDERE\u00c7O<\/span><\/span><\/td>\n<td width=\"93\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">TELEFONE<\/span><\/span><\/td>\n<\/tr>\n<tr valign=\"top\">\n<td width=\"56\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">1<\/span><\/span><\/td>\n<td width=\"139\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Paulo Martins<\/span><\/span><\/td>\n<td width=\"132\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Rua das Gra\u00e7as<\/span><\/span><\/td>\n<td width=\"93\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">99 9999 99999<\/span><\/span><\/td>\n<\/tr>\n<tr valign=\"top\">\n<td width=\"56\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">2<\/span><\/span><\/td>\n<td width=\"139\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Edmara Silva<\/span><\/span><\/td>\n<td width=\"132\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Rua dos Diamantes<\/span><\/span><\/td>\n<td width=\"93\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">66 6666 66666<\/span><\/span><\/td>\n<\/tr>\n<tr valign=\"top\">\n<td width=\"56\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">3<\/span><\/span><\/td>\n<td width=\"139\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Pedro Alc\u00e2ntara<\/span><\/span><\/td>\n<td width=\"132\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Rua Eldorado<\/span><\/span><\/td>\n<td width=\"93\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">55 5555 55555<\/span><\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Veja que a tabela acima \u00e9 como uma prateleira com quatro colunas cada uma para guardar um dado espec\u00edfico. A primeira s\u00e3o os \u00edndices da sequ\u00eancia, a segunda coluna somente nomes, a terceira o endere\u00e7o e a quarta os n\u00fameros de telefones. Assim os dados ficam organizados, n\u00e3o podemos trocar, por exemplo, colocar nomes terceira ou quarta coluna, pois os dados ficariam desorganizados.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">\u00c9 claro que num banco de dados as tabelas n\u00e3o ser\u00e3o visualmente como no exemplo acima, mas o modo de acess\u00e1-las ser\u00e1 de forma similar, em linhas e colunas. Por exemplo, poder\u00edamos acessar &#8216;Edmara Silva&#8217; direcionando a pesquisa para segunda coluna na linha 2; ou seu telefone na coluna 4 e linha 2;<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i>*Nota \u2013 Dentro de um mesmo bd podemos criar in\u00fameras tabelas e dentro destas tabelas podemos colocar bem mais de um dado.<\/i><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Entendido um pouco sobre o que s\u00e3o tabelas, vamos aos c\u00f3digos:<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Salve como tabela_insere_dados.prisma<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><span style=\"font-size: small; line-height: 1.5;\">\u00a0<\/span><\/span><\/span><\/span><\/p>\n<pre class=\"lang:prisma decode:true\">local sql = inclua'sqlite3'\r\n\r\nret , base = sql.abra('teste.bd');\r\n\r\nse ret &lt;&gt; sql.SQLITE_OK entao\r\n\r\nimprima( \"Erro:\" , sql.mensagem_erro(base) );\r\n\r\nsql.feche(base);\r\n\r\nsis.saia(); \/\/deixa o programa em erro fatal.\r\n\r\nfim\r\n\r\nstr_exec = [[\r\n\r\nDROP TABLE IF EXISTS amigos;\r\n\r\nCREATE TABLE amigos(Id INT, Nome TEXT, Idade INT);\r\n\r\nINSERT INTO amigos VALUES(1, 'Marcos', 52);\r\n\r\nINSERT INTO amigos VALUES(2, 'Maria', 19);\r\n\r\nINSERT INTO amigos VALUES(3, 'Pricila', 9);\r\n\r\n]];\r\n\r\nret , erro_msg = sql.exec(base, str_exec );\r\n\r\nse ret &lt;&gt; sql.SQLITE_OK entao\r\n\r\nimprima( \"ERRO:\", erro_msg);\r\n\r\nsql.feche(base);\r\n\r\nsis.saia();\r\n\r\nsenao\r\n\r\nimprima(\"Tabela criada e dados inseridos com sucesso\\n\");\r\n\r\nfim\r\n\r\nsql.feche(base);\r\n\r\nleia(); \/\/para n\u00e3o fechar abruptamente no windows.<\/pre>\n<p>Detalhes:<\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><span style=\"font-size: small; line-height: 1.5;\">Vamos pular o que j\u00e1 foi explicado nos exemplos anteriores, ok!<\/span><\/span><\/span><\/span><\/p>\n<pre class=\"lang:prisma decode:true\">str_exec = [[\r\n\r\nDROP TABLE IF EXISTS amigos;\r\n\r\nCREATE TABLE amigos(Id INT, Nome TEXT, Idade INT);\r\n\r\nINSERT INTO amigos VALUES(1, 'Marcos', 52);\r\n\r\nINSERT INTO amigos VALUES(2, 'Maria', 19);\r\n\r\nINSERT INTO amigos VALUES(3, 'Pricila', 9);\r\n\r\n]];<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Este trecho acima \u00e9 uma string de v\u00e1rias linhas em prisma contendo os comandos do sqlite3 (linguagem SQL); logo para usar o sqlite3 precisamos usar sua linguagem. Aqui passarei o b\u00e1sico.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i>*Nota \u2013 \u00c9 bom usar duplos colchetes de strings multilinhas ( [[ \u2026 ]] ) pois precisamos usar aspas internas. <\/i><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Vamos detalhar os comandos sqlite3 acima:<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i><b>DROP TABLE IF EXISTS amigos; <\/b><\/i><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Cuidado! Este trecho apaga totalmente a tabela amigos com seus dados se ela j\u00e1 existir. <\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i><b>CREATE TABLE amigos(Id INT, Nome TEXT, Idade INT); <\/b><\/i><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">O comando acima significa: <b>CRIE TABELA\u00a0<\/b><b><\/b><b>(CREATE TABLE) <\/b><b>amigos <\/b>e entre par\u00eanteses s\u00e3o passados os nomes das colunas e o tipo de dados ap\u00f3s os nomes:<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>Id (letra i maiuscula e d)<\/b> \u00e9 do tipo <b>INT <\/b>(inteiro \u2013 n\u00famero sem casas decimais)<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>Nome<\/b> \u00e9 do tipo <b>TEXT<\/b> (&#8216;string entre aspas simples&#8217;);<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>Idade<\/b> \u00e9 do tipo <b>INT<\/b> tamb\u00e9m, igual ao primeiro.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i>*Note que a linguagem sqlite3 segue uma sintaxe (regras) e cada comando termina com ponto e v\u00edrgula.<\/i><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Observe que ao criar uma tabela, somos obrigados desde j\u00e1 a definir o n\u00famero, tipo e nome das colunas podendo ser modificados posteriormente com fun\u00e7\u00f5es do sqlite.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i><b>INSERT INTO amigos VALUES(1, &#8216;Marcos&#8217;, 52); <\/b><\/i><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Aqui inserimos (INSERT) dentro (INTO) da tabela <strong>amigos<\/strong> os valores (VALUES): ( 1 , &#8216;Marcos&#8217; , 52 );<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i>*note que o nome est\u00e1 entre apas simples pois \u00e9 do tipo texto.<\/i><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i>*Note que entre par\u00eanteses os valores s\u00e3o postos na mesma ordem de cria\u00e7\u00e3o das colunas da tabela.<\/i><\/span><\/span><\/span><\/p>\n<p><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">E os demais comandos fazem a mesma coisa, s\u00f3 trocando os valores:<\/span><\/span><\/p>\n<p><span style=\"font-family: Arial, sans-serif; color: #000000;\"><span style=\"font-size: small;\"><i><b>INSERT INTO amigos VALUES(2, &#8216;Maria&#8217;, 19); <\/b><\/i><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i><b>INSERT INTO amigos VALUES(3, &#8216;Pricila&#8217;, 9); <\/b><\/i><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Ap\u00f3s criar uma string de comandos sqlite3 podemos execut\u00e1-la com a fun\u00e7\u00e3o abaixo:<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>ret , erro_msg = sql.exec(base, str_exec ); <\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Esta fun\u00e7\u00e3o recebe 3 par\u00e2metros:<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"> <span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">1 \u2013 vari\u00e1vel do banco de dados.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">2 \u2013 a string de comandos sqlite3.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">3 \u2013 foi omitido, ele \u00e9 opcional, trataremos adiante.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Com isso a string \u00e9 executada, a tabela \u00e9 criada (antes apagada se j\u00e1 existir) e os dados s\u00e3o inseridos.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">E retorna 2 valores:<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">1 \u2013 <b>ret<\/b> \u00e9 o n\u00famero que descreve \u00eaxito caso seja zero (sql.SQLITE_OK) ou erro caso seja qualquer outro n\u00famero.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">2 \u2013 <b>erro_msg<\/b> \u00e9 uma string que descreve o erro caso haja um.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Os outros comandos do exemplo s\u00e3o parecidos com o anterior, e j\u00e1 foi explicado!<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Outro exemplo de inser\u00e7\u00e3o de dados no mesmo bd:<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: medium;\"><i style=\"font-weight: inherit; line-height: 1.5;\"><b>\u00a0<\/b><\/i><\/span><\/span><\/span><\/p>\n<pre class=\"lang:prisma decode:true\">sql = inclua 'sqlite3'; \/\/incluindo a biblioteca sqlite3\r\n\r\nret , base = sql.abra('teste.bd');\r\n\r\nse ret &lt;&gt; sql.SQLITE_OK entao\r\n\r\nimprima( \"Erro:\" , sql.mensagem_erro(base) );\r\n\r\nsql.feche(base);\r\n\r\nsis.saia();\r\n\r\nfim\r\n\r\nstr_exec = [[\r\n\r\nDROP TABLE IF EXISTS Carros;\r\n\r\nCREATE TABLE Carros(Id INT, Nome TEXT, Preco INT);\r\n\r\nINSERT INTO Carros VALUES(1, 'Audi', 52642);\r\n\r\nINSERT INTO Carros VALUES(2, 'Mercedes', 57127);\r\n\r\nINSERT INTO Carros VALUES(3, 'Skoda', 9000);\r\n\r\nINSERT INTO Carros VALUES(4, 'Volvo', 29000);\r\n\r\nINSERT INTO Carros VALUES(5, 'Bentley', 350000);\r\n\r\nINSERT INTO Carros VALUES(6, 'Citroen', 21000);\r\n\r\nINSERT INTO Carros VALUES(7, 'Hummer', 41400);\r\n\r\nINSERT INTO Carros VALUES(8, 'Volkswagen', 21600);\r\n\r\n]];\r\n\r\nret , erro_msg = sql.exec(base, str_exec );\r\n\r\nimprima(erro_msg);\r\n\r\nse ret &lt;&gt; sql.SQLITE_OK entao\r\n\r\nimprima( \"SQL error:\", erro_msg);\r\n\r\nsql.feche(base);\r\n\r\nsis.saia();\r\n\r\nsenao\r\n\r\nimprima(\"Tabela criada e dados inseridos com sucesso\\n\");\r\n\r\nfim\r\n\r\nsql.feche(base); \/\/fechado a base de dados.\r\n\r\nleia();<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: medium;\"><i style=\"font-weight: inherit; line-height: 1.5;\"><b>4 &#8211; ler e mostrar os dados;<\/b><\/i><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: medium;\"><i style=\"font-weight: inherit; line-height: 1.5;\"><b>4.1 lendo uma tabela completa<\/b><\/i><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Salve como ler_tabela.prisma <\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">\u00a0<\/span><\/span><\/span><\/p>\n<pre class=\"lang:prisma decode:true\">local sql = inclua'sqlite3'\r\n\r\nret , base = sql.abra(\"teste.bd\");\r\n\r\nse ret &lt;&gt; sql.SQLITE_OK entao \/\/se ret for diferente de SQLiTE_OK\r\n\r\nimprima( \"Erro:\" , sql.mensagem_erro(base) );\r\n\r\nsql.feche(base);\r\n\r\nsis.saia(); \/\/deixa o programa em erro fatal.\r\n\r\nfim\r\n\r\nfuncao sql_call ( valores , nome_coluna )\r\n\r\nimprima( '*****************************************');\r\n\r\nimprima( nome_coluna[1] , nome_coluna[2] , nome_coluna[3] );\r\n\r\nimprima( valores[1] , valores[2] , valores[3] );\r\n\r\nfim\r\n\r\nret , erro_msg = sql.exec(base, \"SELECT * FROM Carros\" , \"sql_call( %s , %s )\" );\r\n\r\nse ret &lt;&gt; sql.SQLITE_OK entao\r\n\r\nimprima( \"SQL error:\", erro_msg );\r\n\r\nsql.feche(base);\r\n\r\nsis.saia();\r\n\r\nsenao\r\n\r\nimprima(\"Base de dados aberta e executada com sucesso!\\n\");\r\n\r\nfim\r\n\r\nsql.feche(base); \/\/fechado a base de dados.\r\n\r\nleia();<\/pre>\n<p>Veja o resultado:<\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft\" style=\"font-size: 15px; font-style: inherit; font-weight: inherit; color: #404040; line-height: 1.5;\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAASkAAAEqCAIAAADGbzF7AAASs0lEQVR4nO2dT+gtyVXHa54tRkiMooyjPxElIRgEdZEYEs16BIWg+IQoZCMJ\/mEWgeHJSMLEMOQxhCxkNhEloAtFXOgoDGH8A8PAmIVGcSGD6ELCT4QYQYiiV3nPmXcz9epXdar6dN\/uPqe6Px+Ynt89r7rr3O76dp2uOtV3ePHFF0+n07PPPnvr1q0AAFsx3L9\/\/7X\/vfzyy9aeAByL17V3lh8AbMnw2n9oD2B7BmsHAA7KUHZ619fXV1dXWLDs1eKEGzFn6uX5byxY9mQJnrjR753dDYmjWLDsyeIKod9jy3avW1Ot5dwYa0mdi3cOLFh2Y3GFMM5ZeokFy54sThDGOQFgA5hbB7CBuXUAG9AegA1oD8AGxloAbGCsBcCGPOY85+AEaVZk+8yAtEYPeQnx5ATHs0bQC7n2rpxl37hyJiSS8+YYdAdjLQA2DHfu3Gk\/76WB1vaU\/XAWFZ8\/ZsUakfOyxDzdcLNLzGrXWOBoDO\/+uV9+1zfde+KJJ8R\/Fhu0IeIT4FU9Y33xyFBUUbwLiLVrLAt6CL0wvOXR77z6VtfjnLFj0bPebaKRqqu5SSEziOxzjsG2iSMw0NDHWMuMru+MbURX1k6ECRF5fi97lDLwq0LqT21lZK3MNpS1ayxwQIT5vVHLZojqyvzRlFnDn0ZFXS\/ohM3oI+YE2B9oD8AGtAdgw\/D4Y8PpdEpN3sbi9P6s7Xk27JQm1gRpfq8xyMlYC1TXMThh9ssVV9JhW07KnBXyWiBk2kuzEz1QZo3p9\/XQoMU0VIAz1Xfj+kTsMcpmnSU3L+5DSGbqlLswpwcZ3Y+11B6iVupnsszpUTeUR4MD4l17rkK1mk4yCTWeABt7wdEY7j3A2o0qrlYwiWgkFJ2vdZtwQLz3ezVMpDgvN7q20m8lJ6EX8nHO9A+H7SNdJJ79kZJlhC9ee6h0yFcP0Dzv8dolcD3O2c6TbmROr\/dFGpnco7WvneoNfTGEXwzhX6y9ADgeQ3gyhO8I4YPWjgAcjCG8LYTTeDkAWBZhnFMzmocFS78WJwj5nOnfWLDsyRI8kY9zXlfe14IFyw4srpDXMbBlu8utlcxEqvN78c6BBctuLK4QxlpKL7Fg2ZPFCb3mcwL0DtoDsAHtAdiA9gBsQHsANqA9ABvQHoAN1XfjlrMi22cGpDV6yEuIJyc4njWCXhB+A8xDK4+4ciYkkvPmGHTH8NTTdx97+3ut3QA4HMNHP\/yT\/\/jqV\/6iXiINtLan7IezqPg6eWNS2imlZdYj5umGm11iVrvGAkdjePS7vu+bHz2F5+R\/Fhu0IeIT4FU9Y33xyFBUUbwLiLVrLAt6CL0wvPDSF9\/+\/e+0dqNF7Fj0rHebaKTqam5SyAwiw5de+YOX\/vR7rd1YGNsmjsBAw\/CRJ37ms8\/8\/qvWfrSZ0fWdsY3oytqJMCEy\/NMX\/+Zf7781fr6urLp3QupPbWVkrcw2lLVrLHBAht\/5y\/\/7oZ\/60N9+6gvnz66WHorqyvzRlFnDn0ZFXS\/ohM0YPvkrHzmdTr9t7QfA0SCfE8AGtAdgg\/wbYGc8PJOUWSyTvNpgbl2shRFOGKX6jkAPw5ve8j9Ef+alswDIMafDVuLNnzO1vLa2xdhp8IHqt1Ac0s6cLjtt5tPAG\/LaWSfyq81B12JRMdjLdr\/kq3nLNICuGcJ\/h8\/90sPPrp6vQn25wNTjLKUZV6s6oGuGr7wS\/vw\/rb2YwoynJm8roQBeY\/jj3wtvfTx8+fnXPzjp6yI1f2YPWlwovLLSSUMs3k4v2DJ8\/j\/Ch388PPdAe95yfBv+xKbczlTOjnPhA5voTykqjQVgePPj4T3f8nDZurf2MS9zumG58AuSPA1LMXzwA+EbrJ0AOCDDj35bCCdrLwCOx\/AmpAdggSqvBQuWPVmckK9jmJQQjAVLX5bgiXwdw3XlfS1YsOzA4gqh32PLdq9bK5mJVNfvxTsHFiy7sbhCGGspvcSCZU8WJ\/C+FgAb0B6ADWgPwAa0B2AD2gOwAe0B2ID2AGyQ31MWpFmR7TMD0ho95CXEkxMczxpBL+Tau3KWfePKmZBIzptj0B3EnAA2jGsvDbS2p+yHs6j4OnkJUtoppWXWI+bphptdYla7xgJHY0R7YoM2RHwCvKpnrC8eGYoqincBsXaNZUEPoRc6iDljx6JnvdtEI1VXc5NCZhDpQHszsG3iCAw09KG9GV3fGduIrqydCBMiI79DNLvRr0TqT21lZK3MNpS1ayxwQIT5vVHLZojqyvzRlFnDn0ZFXS\/ohM3oI+YE2B9oD8AGtAdgg6w9J8NxyjnoLK1kbZfOf7QzVDQjnE5OMlixh35vs8FYZYbKvAQXOBry7zFs78duqGW6tS3GToMFwvyetzm9jNGZsVpf1N5LAyKBBXEdc5Ydxbws5MVzl93mHkBHVH+HCGpkZ8nVOg\/oiOo7I\/rVobiYaCn6PS3gDfm3UPy0MFejEZp5gklDLH6+GmyP6+e9EjELOcv\/DoViF8xdzl6XJB65FJXGAkdD1p6rNtFInq5ZNHtd7skkI+nUkNFZvwewG9AegA1oD8AGOadsRh4wFiy9WJxQnVuflxCMBYtnS\/BEPr93XXlfCxYsO7C4Quj32LLd69ZKZiJyXkv8GwuWPVlcIYy1lF5iwbInixOYYwCwAe0B2ID2AGxAewA2oD0AG9AegA1oD8CG6vtaylmR7TMD0ho95CXEkxMczxpBLwi\/AeahlUdcORMSyXlzDLqDmBPAhnHtpYHW9pT9cBYVX7\/xQyhZgJqWWY+YpxtudolZ7RoLHI0R7YkN2hDxCfCqnrG+eGQoqijeBcTaNZYFPYRe6CDmjB2LnvVuE41UXc1NCplBpAPtzcC2iSMw0NCH9mZ0fWdsI7qydiJMiMjze9mjlIFfFVJ\/aisja2W2oaxdY4EDIszvjVo2Q1RX5o+mzBr+NCrqekEnbEYfMSfA\/kB7ADagPQAb8ncEph\/Nn0kWzF3OUk8u9ydIA1GNGfN5Ftgxw9Of\/s0feP+Pxc+urn2aAjKpXZaFFxmwbaS2lbXPS3BBfsdh+NCPfOPv\/uHnrN3ojIZCapluUy0bfhuwYXjbex5\/7yuf+atXH5oWCc\/Wo8ylzrKZ4xRlaH4L8Tjxn9o7lrFiuy6AkuHjn\/j10+l+\/DwvxluVTFe1JOb4h6brmJ3NnOUeiG4AaBjuPPkLX\/it51590O\/5bDqlwMQCU5n3+JdJzucZgy4Y3vKm\/\/m3r1p7MYWlmnvjgW2R4wO0Gf7hz\/7k7\/7rax\/6ipo03urLpA+NNflpZgUuHGLp6xLAJQwv3\/\/h93\/783\/\/RszpKse3HDVRepiNvoTiOU08zuhXVmZFlxKaZ4F9M\/z8T7zvdHrXb7x0+\/zZ1bXXZCpnzVdTTLQo2\/3ocfTFlIeCvUJO2dfw1ufD7kF7D0FysCVoD8AGQXtL5QFjweLT4oR8HUM2d4wFy54swRM3tBfHG6KjWLDsyeIKod9jy3avWyuZiQzhfx9+SJ2Ldw4sWHZjccUQ7oXw0g1T6SUWLHuyOGEInwjhHdZeAByPITwWwgdC+CNrRwAOxhDeHcInrb0AOB4PtPeDIfystSMAB2MIXxfC11t7AXA8hnDL2gWAQ0IuNYAN8m+ABWlWZPvMgLRGD3kJ8eQEx7NG0AvCb4B5aOURV86ERHLeHIPuIOYEsGFce2mgtT1lP5xFxdfJy8XSTiktsx4xTzfc7BKz2jUWOBoj2hMbtCHiE+BVPWN98chQVFG8C4i1aywLegi90EHMGTsWPevdJhqpupqbFDKDSAfam4FtE0dgoKEP7c3o+s7YRnRl7USYEBlONz9f19\/f7IHUn9rKyFqZbShr11jggAjze6OWzRDVlfmjKbOGP42Kul7QCZvRR8wJsD\/QHoANaA\/Ahgm51CZ04Y9mPJMxT8gYeS+1hUvj\/pRZZtu4KvpQjgPPS3CBo1GNOb21idqMgi1pPmdqCUWmW9ti5T8YMtwP4RFrJyYhJi6nxnn5zeJeGUwVwIIMf\/3P\/\/6ONz\/87O35qiTrZ8SuY0Z+s\/hHDToruJzhhc9++vl79+JnV897s9FMspfPacrv2\/WZAT8Mz9y9ezqdbt++be3J1szTD8KDpehmfk\/T6OcJQ7+XpuSkIRaUfGTk398LPp73RH+ybO+0WGOMZKls5vJRM7XXRi81Fjga47nUtsxIX56X36yZw9CPc5JODaN0E3MC7Ay0B2AD2gOwYXjqqV\/97p++k5qWygzGgsWnxQnD03c\/det0+vyDD1PTf7Fg6csSPCHPMURHsWDZk8UVwhoitmz3urWSmUje72V\/Y8GyJ4srhHHO0kssWPZkcQJzDAA2oD0AG9AegA1oD8AGtAdgA9oDsGH4tac+9j23n7R2A+BwDHfvPnM6nV544\/N1fTX39pkBaY0e8hLiyQmOZ42gF4R16x5aecSVMyGRnDfHoDt43gOwYVx7aaC1PWU\/nEXF12+8pCgLUNMy6xHzdMPNLjGrXWOBozGiPbFBGyI+AV7VM9YXjwxFFcW7gFi7xrKgh9ALHcScsWPRs95topGqq7lJITOIdKC9Gdg2cQQGGvrQ3oyu74xtRFfWToQJEfl3Z7NHKQO\/KqT+1FZG1spsQ1m7xgIHZPy91IaNQ1RX5o+mzBr+NCrqekEnbEYfMSfA\/kB7ADagPQAb8ncEph\/Nn0nczkGXqTajqeeMeUJG9R2BroY3PaM5UZoEFzgacsxJm2iQii3N52yXCUXuW2rZxHHwRWfPe2LXEW42Yk12tZgDrXegPTtXEyRAiqA9V3diTQtu9CeN3OXyD4At8d7vLbWKotx9xkS8RqUoGZQIOWW7bDpLfamo4caJ0pQB8N7v1ZjdDV6iB82Ex+jyQtECB6Qz7WWDK6m9LFnuJZa8hLSLaxy8lBnCg\/FcakPaedKxD8nKTM3AvsSxxnFGa3R1qmF7Ouv3AHYD2gOwAe0B2KCaW8eCZU8WJ+TrGBrJvliw9G4JnsjXMVxX3teCBcsOLK4Q+j22bPe6tZKZSHX9XrxzYMGyG4srhLGW0kssWPZkcQJzDAA2oD0AG9AegA1oD8AGtAdgA9oDsAHtAdgg\/wZYkGZFts8MSGv0kJcQT05wPGsEvSCsW\/fQyiOunAmJ5Lw5Bt1BzAlgw7j20kBre8p+OIuKrxVvoV6PmKcbbnaJWe0aCxyNEe2JDdoQ8Qnwqp6xvnhkKKoo3gXE2jWWBT2EXugg5owdi571bhONVF3NTQqZQaQD7c3AtokjMNDQh\/ZmdH1nbCO6snYiTIjI83vZo5SBXxVSf2orI2tltqGsXWOBAzL+XmrDxiGqK\/NHU2YNfxoVdb2gEzajj5gTYH+gPQAb0B6ADRNyqbdHOQddppV4cH4bxOvVzgQSy4gWWJWR91JbuDQZb4OxmyFer+xU1MqMJtzA2hBz7oo0v7QkFV4ocvFSy5Y+H5bh1gOs3ZiAPipuZFe3ewx9DrSYS70ZTF10jfx7DMHHVSxvzPqouFaysde8HGjRt40ZPRXnPzxcU4js4XmvJHM+7Zo0YxLtI2cW87M0eqX2cU33xz6f98rnltGuSblaylvbRU794l17s5\/+xUhVc7Q0QmuI0EOjv\/DMNAZdYANcP++ViB5m+d9Z4XOcKWYzl+2vXYXD85PeHVL30hi79FmMCxDexoznUptTKkpfIG1t4l6NwmJb1NS1GcpxTqXR4aXfN95jTkMc9nKwJ9BeCyQH64H2AGzI5\/fi3+vd8uc902v2Wna0gLGHGsc8M4t\/a2Gc0zxLo3d6PHU9+tw7xJwANryuvUceeaRRYkaGcfs4jSPP22tSmUl5jzNyqeNk4+W1j5aZlxEu5qlqfL7wCjb8CYoJxpWy4ZWWNRhK4WXXoLxOo5aymjJja95eo\/6IR56XS6357uUfYhua+k2VZcoMgXnfXeOz5lpofBb9Kb\/IIudnKUtZ1yIIMWfZpLJ\/TXMmoosz6t5sL9HneUcuy5Q3qaWOrKw9ax+N40xqRkv5PK\/2cl\/NFSzrGm29U4+8IHN+j6G8xc5zesZeoj\/6uhq3MeWR1\/N5UpO6sMwoGp9nX4t5jF7Bxl7t48w78uVox1riyS3jhKzYha1zqj+Tjt+IaqYeWeOzvkeafeRGqDZ6dUR\/Zvi84Pca3VfZz9e+eyPKHW0biytTmN+LXXC42SNnf5RlGv6lZUrLjL1Ef2pHnlRXWnjGcbJDtV1t+KwpU7YbzXevXUr9dW+csVGfa9+03bI132LSd59kObN4x5jP75UlysCy1o+3WXyvSf5Mqiteg1F\/Gjpp+zy6y6TDtqvQnEONz8rj6Gsf9UF5nAtbgrK1rNLvtecYAGANhDkGANgA8loAbEB7ADagPQAbGGsBsIGxFgAbiDkBbEB7ADbwvAdgw\/8Dt42OlwEyyMIAAAAASUVORK5CYII=\" alt=\"\" width=\"297\" height=\"298\" name=\"Imagem1\" align=\"left\" border=\"0\" \/><br \/>\n<\/span><\/span><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Detalhes do exemplo acima: (lembre-se, vamos pular o que j\u00e1 foi explicado nos exemplos anteriores)<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">\u00a0<\/span><\/span><\/span><\/p>\n<pre class=\"lang:prisma decode:true \">funcao sql_call ( valores , nome_coluna )\r\n\r\nimprima( '*****************************************');\r\n\r\nimprima( nome_coluna[1] , nome_coluna[2] , nome_coluna[3] );\r\n\r\nimprima( valores[1] , valores[2] , valores[3] );\r\n\r\nfim<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">\u00a0<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Lembra do 3 par\u00e2metro omitido no exemplo anterior? Certo, precisamos dele agora, \u00e9 a fun\u00e7\u00e3o de retorno acima. Para criar essa fun\u00e7\u00e3o n\u00e3o h\u00e1 segredos, \u00e9 uma fun\u00e7\u00e3o prisma normal, com o nome que preferir, os par\u00e2metros principais s\u00e3o dois os valores e nomes das colunas. <\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">O que acontece \u00e9 que ao usar a fun\u00e7\u00e3o sql.exec(), esta percorrer\u00e1 cada linha da tabela executando a fun\u00e7\u00e3o de retorno e passando os valores e nomes de colunas de cada linha precorrida.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i>*Note que valores e nome_coluna s\u00e3o tabelas prisma contendo os dados da tabela sqlite3. No caso, como criamos tr\u00eas colunas na tabela Carros usamos 3 \u00edndices para acessar os dados de valores e nome_coluna.<\/i><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>ret , erro_msg = sql.exec(base, <span style=\"color: #0000ff;\">&#8220;SELECT * FROM Carros&#8221; <\/span>, <span style=\"color: #0000ff;\">&#8220;sql_call( %s , %s )&#8221;<\/span> ); <\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Esta \u00e9 a fun\u00e7\u00e3o que executa a string sqlite3; <\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Algumas novidades aqui:<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">1 \u2013 passamos diretamente a string de comando sqlite3 dentro do par\u00eanteses. (tanto faz, por vari\u00e1vel ou diretamente)<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">2 \u2013 usamos o terceiro par\u00e2metro, omitido nos exemplos anteriores.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Vamos entender aqui o comando sqlite3.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b><span style=\"color: #0000ff;\">&#8220;SELECT * FROM Carros&#8221;<\/span><\/b> \u2013 pode ser lido como: selecione tudo (*) o que estiver (from) na tabela Carros.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b><span style=\"color: #0000ff;\">&#8220;sql_call( %s , %s )&#8221; <\/span><\/b>\u2013 para passar a fun\u00e7\u00e3o de retorno (call back) como par\u00e2metro usamos uma string como se f\u00f4ssemos utilizar a fun\u00e7\u00e3o executestring(); pois internamente, a biblioteca igsqlite3 usa essa fun\u00e7\u00e3o.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">E os dois &#8216;<strong>%s<\/strong>&#8216; dentro do par\u00eanteses? Eles s\u00e3o necess\u00e1rios pois s\u00e3o caracteres de formata\u00e7\u00e3o que ser\u00e3o substitu\u00eddos pelos par\u00e2metros <strong>valores e nome_colunas<\/strong> a cada linha da tabela. N\u00e3o se preocupe apenas utilize-os sempre!<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>Como explicado anteriormente essa fun\u00e7\u00e3o retorna dois valores, o n\u00famero e a mensagem de erro.<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Quando essa fun\u00e7\u00e3o acima \u00e9 executada, ela executa o comando sqlite3 \u201cSELECT * FROM Carros\u201d e faz um loop (repeti\u00e7\u00e3o) passando cada linha dessa tabela selecionada at\u00e9 chegar a \u00faltima, isso acontece pois usamos o * que significa todos as linhas da tabela.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>E se em vez de querer apenas imprimir os dados eu quisesse manipul\u00e1-los. Muito simples crie uma tabela prisma e passe todos os dados para ela usando a fun\u00e7\u00e3o de retorno. <\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>Veja um exemplo abaixo:<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">\u00a0<\/span><\/span><\/span><\/p>\n<pre class=\"lang:prisma decode:true\">\/**\r\n\r\n* Exemplo igsqlite3: obtendo e imprimindo os dados\r\n\r\n*\r\n\r\n* **\/\/\r\n\r\nlocal sql = inclua 'sqlite3'; \/\/incluindo a biblioteca sqlite3\r\n\r\n\/\/abrindo uma base de dados chamada teste.base\r\n\r\nret , base = sql.abra(\"teste.bd\");\r\n\r\nse ret &lt;&gt; sql.SQLITE_OK entao \/\/se ret for diferente de SQLiTE_OK\r\n\r\nimprima( \"Erro:\" , sql.mensagem_erro(base) );\r\n\r\nsql.feche(base);\r\n\r\nsis.saia(); \/\/deixa o programa em erro fatal.\r\n\r\nfim\r\n\r\n\/\/funcao call back\r\n\r\ndados = {}; \r\ndados[0] = nulo\/\/para evitar erros no windows.\r\n\r\ncont = 1;\r\n\r\nfuncao sql_call ( msg , valores , nome_coluna )\r\n\r\ndados[cont] = {};\r\n\r\npara i = 1 , #valores inicio\r\n\r\ndados[cont][nome_coluna[i] ] = valores[i] ; \/\/dados[1].coluna = valor\r\n\r\nfim\r\n\r\ncont = cont + 1;\r\n\r\nfim\r\n\r\n\/\/a funcao exec executa a string de comando SQL = str_exec acima.\r\n\r\nret , erro_msg = sql.exec(base, \"SELECT * FROM Carros\" , \"sql_call( nulo , %s , %s )\" );\r\n\r\nse ret &lt;&gt; sql.SQLITE_OK entao \/\/se nao for igual a sucesso \u00e9 erro.\r\n\r\nimprima( \"SQL error:\", erro_msg );\r\n\r\nsql.feche(base);\r\n\r\nsis.saia();\r\n\r\nsenao\r\n\r\nimprima(\"Base de dados aberta e executada com sucesso!\\n\");\r\n\r\nfim\r\n\r\n\/\/imprimindo a tabela:\r\n\r\npara i = 1 , #dados inicio\r\n\r\nimprima('\\n************************************');\r\n\r\nimprima( 'id: ' .. dados[i].Id .. ' | Marca: ' .. dados[i].Nome .. ' | Pre\u00e7o: ' .. dados[i].Preco );\r\n\r\nfim\r\n\r\nsql.feche(base); \/\/fechado a base de dados.\r\n\r\n\/\/criando uma janelinha com listagem mostrando os dados:\r\n\r\ninclua'igbr'\r\n\r\njan = ig.janela('Mostre dados' , 250 , 200 );\r\n\r\nig.janela_def_posicao( jan , ig.janela_pos_centro);\r\n\r\nig.conecte(jan, ig.destruido , 'sis.saia(0)' ); \/\/necess\u00e1rio este comando para evitar erros no windows.\r\n\r\nv = ig.caixavertical(falso , 0 );\r\n\r\nig.ad( jan , v);\r\n\r\nlistagem = ig.listagem_com_titulos ('Id', 'Marca' , 'Pre\u00e7o' );\r\n\r\nig.listagem_def_largura_coluna ( listagem , 2 , 100 );\r\n\r\nig.ad( v , listagem );\r\n\r\nig.componente_modifique_fonte ( listagem , \"Arial\", ig.negrito, 11); \/\/define a fonte da listagem\r\n\r\nig.listagem_def_tipo_sombra( listagem , ig.sombra_riscado_dentro ); \/\/define o estilo de borda\r\n\r\n\/\/tente ig.sombra_dentro, ig.sombra_fora, ig.sombra_riscado_fora, execute e veja o resultado.\r\n\r\npara i = 1 , #dados inicio\r\n\r\nig.listagem_anexe ( listagem , dados[i].Id , dados[i].Nome , dados[i].Preco );\r\n\r\nse i % 2 == 0 entao \/\/se i for par\r\n\r\ncor = ig.cor_analise( ig.cinza ); \/\/definindo uma cor para letra\r\n\r\nig.listagem_def_cor_fundo( listagem , i , cor );\r\n\r\nfim \/\/se i % 2\r\n\r\nfim\r\n\r\n\/\/call back do box de listagem\r\n\r\n\/\/funcao que sera conectada ao box de listagem:\r\n\r\nfuncao list_exec ( comp , lin , col , evento )\r\n\r\nlocal id = ig.listagem_obt_texto(comp, lin, 1 );\r\n\r\nlocal Marca = ig.listagem_obt_texto(comp, lin, 2 );\r\n\r\nlocal Preco = ig.listagem_obt_texto(comp, lin, 3 );\r\n\r\ntexto2 = \"id = \" .. id .. '\\nMarca: ' .. Marca .. '\\nPre\u00e7o: ' .. Preco;\r\n\r\nig.msg( janela , 'Listagem' , texto2 );\r\n\r\nfim\r\n\r\nig.conecte_funcao( listagem , ig.clique_linha , list_exec );\r\n\r\n\/\/note que o s do %s \u00e9 minusculo, senao causa um erro impercept\u00edvel para o debug.\r\n\r\nig.componente_mostre_todos(jan);\r\n\r\nig.fimprograma();<\/pre>\n<p>Sa\u00edda:<\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft\" style=\"font-size: 15px; font-style: inherit; font-weight: inherit; color: #404040; line-height: 1.5;\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAP0AAADQCAIAAABDZfBDAAA4l0lEQVR4nO2dB3wUxdvHZ\/f2+l0uyeXSew8khISQQlHpUkVApAiiiChFkWYvKGJBUMqLighIb1JERELxDwklIbQQkpDee3LJ9br77t6l5zbkCAGS2++Hj+7NzszOPvvszOxkZn5IXFyc1sDatWthGAamUKuVgGvtP+d9jpsv\/hNrCIcM\/1UUZmT+8T2QSRhMVtuEqF7n6urKZDKIhFh9UgiCDGfVxcXFMEx\/hAlNlx\/lKMWFekBzs2YpaC2S6AFXXl2gBZCLFUNF52GALlPIdCo5imEQjPDYNA6LqwOQQsfUSsv0KIqXA4JpXCaNw+bqIViNMtSySq1WhwfTEMRRwJUDK3lNgRaDXa0YSjrXeBUUQxQqhV4l0xEZEDnYc+k6BrdVOQ3R5Do8JooSsWCYyYAFXL4WL5VSpVNL9HrMaAUEQex5LDXMIE8CmXsvHbFkzwBFUcToUlgDJuMxGCydQnLvp2WCvs9Y9xnIcvNjWNlqJDWqwkzxnXjJnTg8Au6DbZMTCbWa\/Px8HpfLt+IzGAw6nY6\/YxqNRiKRyOUKBpNNpzMeYULT5YfkDFtb\/EBuuNXmp2Ag4xtOKetPaXhsBmAzGiNoDeZh01Rsa+vmCXWG+AxIzeBbNQYqMUOGNkSGimbXgoCWy6IDlk1Ttm1K0hCNAViM5oEaIhYeTmueHEdlyIE8idn3AiwG3G2QRndvx+9xaAidTUMU9xJwL0f1eA2CQkTlAiN0BpvNw6thsrTGhGqtVl5e0Tohh98VCSko2qfJ79uv7xtBEDr+z2RGT1tCCgoyCL8HzTo5lDNRWAL19T14UP+egqIn0VTfgwf17ykoegxUfU9hibQYz\/n666+fdHkoKB4TTd+1+MHgwYM7md39+\/cDAgIeQbksFcqAXQ1u4YqKCsT4o7GH80i6OlR\/qZNQBuxqEMrEFBZI03hOK9LqNMeLFYUKvUSLtj3LhCFfPjLdg+fJRbq8jBQUj5qm8RzQrKN\/S6z5v0zpSEf2UBFbwIDaJitX6vMUuq9Sar8OETiwW7g+NS7USSgDPgZa1\/fG4z158qnuHA8OaV3uwKbh\/1g0eHuu7IMgQauz1GPrJJQBu5oW37WNNU25Su\/OprU3TQ2tzYk9WeU0oZADt5okTFVXDw1lwK7GaGHQ6PfmwgIVd\/\/+K3P0CLkXpzFH6ml1EsqAXU2jhdsbz6GDmttfzN\/FWL7642h6m2itvnZRFG18mVqhTFo16+vsgZ9sWdKP1yyGJv\/AsiUHaXN+XveCI+1hbsJCwGqvrFm8Nklm\/MUQuAX2HzZp2thQITWi8PCY7t\/XN7YA04OmOQzNk2HGVVcNnaOWaVvVW3ppWa0eSC9t\/2ti8HTPhlUQWPXl348WASCslOkxzIIW+3SE5gaEMJ1MLANuUz96qy9XrxQXJp89tPOLpPyPf1rUz8p0RUPxQFr\/3ao9tMWph7b9\/b97NRrE2tMHlgKjDz+oh6OXlksAw96q5OS+pNEfDrA2PCtV1ol9d+lOXG1NlUxPNC1AV3rqm89336rSAMC0D3l+7jsz+xM1mr4mac+WvfGp+dUqAHihi378ZKiQpqu5c2zbzr8T8qUYIvAf9+Gq2f4008l7DDyPwKAgPm67kPAIX82C92P\/TnutX4TGhHG0lQkHf919+maJErbyGjh5\/rxx\/oZmVie+dey3P\/5OKGgyGhPoam4e2frHqcRCOeC5RY59df7kcJueZDYyOnqPEJAV7\/piVxyn\/4ylM92Q2rRzJ\/JwvyfcHUVNDPA3JYRQeZUc8pw93+vPH\/b9WxAxzQNPVn1td6w0bO5C7q4fK2vVGGBBgGYTMm7uB1OEPKzy1p8\/71\/3S8DWj6KtYEyWee1mmdP0FYt7W+nlmIcNDVNl7f9s1TFdzMz3Xg2w0tbU8hyIF9Bk8qe5PnyI3rwxCY3JRYBercXb47bGkaft\/OS7\/9lPfnt1lJ305oFNO77CnLa8F8FTZe795KsTetxocxqNhikz9nyy+i8weM7KuZ4g9\/wff6z+VP3tD7P9O7Rq+emnHQu38HvUgCEBcYxBaMMwD8qQ3DgVV+c8\/atXxjjh3s4MFGT\/dzPHELNV7o2ZGIGAqq5WTeM5hEx6ye\/83iN3xy4Joxf+e\/Ce1ci1A1ziDoOcKrkW5ePlYLmHRboRWfl6vJr\/35LY5ApVJI+FEmXgevYLD\/EyNi+Y5Oa+kyUu0zcumeyKf50YWxs8lsnkzEdnxMdGawMazYtp1GoVrJHVFN49t+uvCsh\/vC8bQ6tbGQetu7H\/rDh44bczBtngD8Z7wfSrb+05l6Xs531736nS1kaT3Nj\/T5nz9E2LJrjgDW5oL2dV1pKjB29N+Cjqqa4wHgVIq859o8Wb9+jxI6gmswKzDg+yk6l1hiBjNBP1ffNMcGBMKVYCpiOLJhw4beC+NQfjyrzsDv9bE\/jqeHeGGndMZY1Mh6Iw0JReObTzz\/i04holzGVoAF2t0Rs8wPjq6XEMGerKUvJ0gqhQEaTT6ZsuS5L80VrrsdDKgBBm+JG+Yd70DcYQRBQ25aOFI+xhVNPGOOXpRTpd7Ya5kzc0ZUivVqk4KfltjKYrS83XWUeH2uGBxIYQkF2fYMHBpHvlmkgevYePLLX4rm1mceIAhVCs4ZjYcwI\/0OsJFyUGc4g0hoRY+34PoYpaJWBw6Kie2XvSWIclR3bt5t+iDfw4Cq+QqngsTC1R4Zlqi459s\/4kPOLNpW\/52YDi0z\/8eM2QT73bG8tTnz8eBAEUT9RUKenJkneh6bqKtn5P\/M\/95Y\/mh\/IRJl\/o4GDDxj0d1elIjMOJeufz6d6NTR3EsrUCRfq2RsPqxyVQYyDeIzVZgB5Ji+9a\/G7xisPQCBpaWwhrNAwiDLRHYtNvlT7n7IQYTNY4v6GVjRozMf6EdEqpCjA5NDwU2D\/3YvCRzRdrXact9WXoUAxhI0AlUWrxNCWpJcB34dRhwXz8dWO48uovjGFNZTBehm4X4ALH3r1TofZ0bFxwriFJ3h2fXisDwkZTc1x8fHy4hmZYq1bXnzJhHH9nKDa3ALId4Ni4fwjeHtDs\/J2gs62MhogCXZEzKXighwMeCOvLb6fUIe6BtpCuWxrOHEx81xpsWD+OaQwhbM0NGzPcYeOJ1Yd00yID7HiazEpV\/ThmW+9qPu4Jo2qpBiBsBh5PB\/GjZr2SekoaPcwRwmssGGKxaKhCptSjQkd\/ETh58vBZ3gAPK1p1qYLIvFlPt8mJUX7YpCHC1Qe\/3qSf+qy\/NSKrkTtHxZAl7xqrdTUtB47rLYC\/DDqs5Q2ZNM5Q26+Pf\/MjmDq0l5CuqCqWug56ztuKFzZliE0row30CJs6yuGzA99tpU1\/1gMtuLj\/cKnj+MVhXMzYkPRkWk8pM3YU679r4fp+Dm7XWhUUMG3V2\/xdf8du330K7w3SufYB\/Vw5SW3q+1atJKpTydWAwaLh8fCsEdeRb8wnDg1xIIRNB9V1eIUPub6w5NXqbce2fxdLFIDBsw9w5hg8t\/75NzqxFqOHvP7lCqvt+\/\/9Zd0RDLAco14Pjh5EkrwrbddFtOlmYMahBoMxWvl9W+Mw+rz25TKrHYfPbVt3XA9ofPeBcyKe8eYAZp+5q5db\/X7g9M\/rjuAGso96IyTCRRAw4\/OVrN\/3HvvxsgJvUSKmfPjGeA8Yq9+WrSdjejynvn8P2wz56uAQACrlKjWKliuYgWMXhb5Q\/7dV\/LNRokWT7sva9nOah2Ds8M8OHsJfJ7VajYdqNJqmUxjSZ+muQwAolUqNluY58u1vxyxubN\/xTFQqFUpzmb750HQAFApFY6YqlBc+dXn\/6TTQ4CV4tqaTPzpLPTZaGRDA1iO\/PTQSv2v8dlq9yCaNA\/Ejpi6Pml7\/mHDLa7VavHFVEkZb4s7\/7IPEoV9\/Osoe0uHhKpQbNmV5xMv1lsRD8NAe7\/SgbT\/HWN8zIKDUEVVygUbbeAq3bLlU0TxylgJ1Z2INYwn1NDYajRniD4zs8lKptPHYMKjQGuNjaxveNrLJ5N2RtgY0aYF2TpGZQq9Drfo+53bgwIGUmDf94PYj92xajGM21jSjhNCJCv14O4gJkw7kSnTgvxp0ij3cfj+Hwly6zoBQ9vaVPybUCaLnOdFR1PS7ZCGYHsccak1sObq9BFOTf+AwYfCyA9SX1\/ojiPL7TtJ1BuQGL9y4Y7GxB4j3fLriEt2F1vPvGy0+RED8exBY2wdE+X0n6ToDNu9VWjitx3N4PF5nspPL5Z3PxJKhDNjV4BYGrfz+3Llznc\/37t27nc\/EkqEM2NU4ODi08PspU6Y8qaJQUDw24uLiLGGuNQVFayi\/p7BEKL+nsES6jd+j5cffmLIukz3kp+Nf9sOurRy\/4qo2+LOTW0ZY9\/QlEhRdQLt+jylyz\/66Zu3RdBXwXnTg95ddHvot0ebtfHXW74X4Ua\/lR35+waGT68gZriNmv+KNuviwerrTK5I+nfje\/5TNg5xn\/7FnnjeizP3353XbT98pUwGawDvmxbeWvhojIqaIq4subP1h6183SlSA7Rr10rsfvh4tbNyvAlPe+\/n1t\/YXARCw4ujWCSIYI8unZ0N+g9r8Qx8t3nRNTH8Eex1o8k6fKjQepp64WDp26sO\/QQboriPmzB\/R+XI9\/egVdSoAILehkwfaG22G2IVb0zBJ4rrFa87UAYF\/ZF9GfmJK\/M6Vpcw9v73ipry+buEXp2uAMCgqRJ18PWHXh5877t8w3rhTC6ZM27macPoGSPPxMKGl15Mg9z9N0c3ywLlrF\/Q6t2DZmc79nU+V+feZMgAHv\/ayfMf+zL8uFL84q96u+tLDc6duzOaO2HjsszB2y84MB1Nmnfhh9a+x2TK6Q7+XXu3bNB1Cbin9HFRVq8Bv237gzLcX+jfTqJVfj72tZgr6Ltj64yRnuObMoomr72ZfSql7mRn3G+70gpHf7vx4oLW26OLpJIWdb8MycVX6rtX7ipwHRaniE2oMIYr7pvOZ4WHXs7d2Ifd7TtSq7QOYiPrO+c5eQ5F24nw1gPtOHDuu9tL+zdl\/nymY9qbPAysU5b1fV66LrQSOz776Um\/l1R17sjpbkO6HXiEm+jiyW5veGH07VwbbBo16bfm7E\/y5\/T89cvbT+kjautI6\/OVgCm1Zqqx43ErciBFuBbH7\/yzS2AYOHjHAm2fwYcLr9xS6v7L5Zc2q+ARjUrJ8erbTg\/b2S4MQ5iPp5WGyu8cv1QFa+Pj+IhflGN\/Nm7L+\/Sf71cWBD9jrQJV16nwlANbjPvn4jVA2NtanevKy8\/JHUaJuBKqoJWZ+K+5nQeERQYU309JOr3tP57Dv0xhBfTOnq7z44we\/FwDgNW1OGFv6V5UOT3Xnu9nnq4xTmbftGrXm948G22ru7169u8Dtla2vBsK\/mbhSi3x6\/iwJBKtfvt1VM8kwyc2jl+UA6Tc+whqmCQaN9du0IfPsyYx5gSHt7tKCqcrzavH\/O\/V2Jl4QiO3R1wWcz+iiUj6t0J1HLfuit5rjGRnly4fkd9bPXHS8+n\/HUpbGDMR9E5WlHvhs+c\/XpZDHC6vXzQlgYYVawttRufeS33c+b5t38P13dmSc+fXUrLCos1\/tynebuXV2IAu0MWKbfJ7AnT5muvrDHRUn\/JlILIO+seqFZ1c1hIr\/dyJ1QUg4t+E3Vj+VGdM3E5nAmv3XsDjaEtYBtQIWBA4aFtjwi+sT6QEdr9aKxUoUcOoSNi5a\/mcBcBy24rv3x3uz8QYA5drxiYj+E0b4C7ggZMxYnx0ZmRX3U\/+5ujsf2EbWxf626ay+5oYYj1N89vdftONnTwrSJrbJp+fTxX6PVl05dgtvea2CB\/erHxxTF1+9kiGJO5osDYvhQ3QO8bWmKC9XoIANyXJuFtenhFgO7gKQUldyu1A5TsTFZBnXC7u2rE8h+orYNR\/tSNaGLt24Eu\/ZyLOvF+AvP9fNmavJ3L185Z8FsO8rGzbM62tV3x+H+X4RLiCluCgpV\/FMKEddkVuNh\/KEdHk+Xp\/UJP59JLExb9ntU\/vlgWODk75sm0\/Ph9TvMXna8b0XSrS68hRiMKfs0u6fq\/hMpyEzJvbiddg6+rKLR1MwAIe8\/eXqcSJjMm3Bntdn\/pp37dhNSfSzAquACGeQVpKy+eufxWGapDPZjfU9y3f0M7b\/nKw589Uq28m9pJeP3SJWK2I9fqV\/c2g2Ad5oUWxO0crXCgb6gcyrd6sA8JwyPUh6dun2DNxUHJC296v39xoiwzbRb6+YOO7VyANrEo+\/N68kxqH82vUaANxHjxv82ntxrzVkqr6\/afobhyqJ8ftx6KmFU03mM9mzZw9kkvu97P7J3QcyG34qkk8dSgbAz2nCC706\/NWjLTp\/As+B3m\/yAGHju0J3GTYx4Nef7l8\/mlAzeKTQe8anb2at2nH1+oFdVcPmLZuPLPviqk5FrG3m9ln47YLaL3+Pu7r\/j4KYmUvfhj9dl2zYFtJyoHtM++FHdMOWI5fuXr4C6HaBw6e8vXiaH5J\/SWyoIBRZN641DnPxrWcspXmO+nKzeuOPu84mXioAXI+Yl99aNsePbAhBL68gycewVW8PhtTvYYeJ2+Mmdi5zusesPXGzWofSnCZvi5vc+JMXPOv7w02RJl8Y1lgEbtD0NfunN56ac6mxPNHfX4jrXNm6CzTbiFmrtrc2ovfcA3FzSVJwAyZ++MvED0lzZAYsPhq32HgsaiefHk2P\/4M0BYUJKL+nsEQov6ewRCi\/p7BEWvj9qlWryOJRUPQYhg4dStX3FJYI5fcUlsgT9Xtd1e1Lt6tQQfAz\/R0ZD47eFkxVlBifLqU5hA8OsaVeYYoO046zYNraoszM\/AqJSodBDJ6di0+Al8jsmdmYprYoO6eoslauIf4ySGPybRw9\/bwduJRUc4fAdHXF+FMoq1XqAY1t4+IT5OPIMWzbra7JTb9fWCXXYjDLxsU3yM+RAz9EuGVC6veosvjOzfu1KMS2thOg0mpJZe4dJRwT6cU1x1ioPO9WUrYUwFyhM+7qOkVNeVVV\/l2JjjEgyCJ0UjsJpipNvpFegwKGldAak1aLC1JuoqzoQGuaqiTldo4YRfh2IkRWKS5MuQ1zovysYDPDLbX2IfM9TCeX06ysRba+vb2tkfr+hKxGpvPimtEjwTTiCikAkE2vfmHGnozONTctV4owdDq01d6c6op7CcllGo57v\/5+NnS9rCQ7I69UrMDbGoRj7eju5+tihRBTZPXSovR7WaUyHcyydfOyaVFmSXHG\/bzyOpUewAyBg3dggAsf6c7TajFNdTHu9JAgKDLChQVURdfj0yWleWKfPpzSAjEKmG59IwKsYWVh4uX70pICiXcvhnnhwTYW6vhkfg8x7ALC7IzHqFZWU0PMoecJeebV0RCNyaQBqV5SVFjBc7PjMWBE4BXSt+F049xLTCfNu3O3TEMX9Q73taFjyqI7iel45WTj6mPHVFfmFxWlJ8mw6HA3DlaXdSe9VAXY9l5uAn1VTl7Tyl9NVdrN9HIdXeTdyw6ryMotTb8N8wYEWXfjJ4vpNIQoA8Lh0onXl84XMIFELatV6QCxDgvi2Bi6iwwrAQNINVI8nGdeOGpjVvPdc3iAH2OqkuvxqRL8iGXnHRbkbq6V6EL\/AEd5alltbvK1XLwS5llZ24gcXVxEvGb1MKauTMvIlgArn7DeTvgHhF5SmIdXTnSnkNBAIV5AZ7728u3y2vxiuYu3vrhchT84l969fXCHduap42+VG\/U6MJjrFhruCjH5Ai6CcmUlVYVqcY0Ste74tOmnDpjBx\/vycm1VUYWcJ4KqiyuI6ken1uo0xLRUGsNoRQg\/wN97nUZvbrglzW1twQP8HqKx7RztaNI6sbwqLzOXxwuwZ5rVcYA5zsED7L3ElVXV4lqCikL8X76od2Qfp4blbJLMdOLN4tjZcQ0yFDp5LTHVnm3LM1bVCNeGDcqlqjq5Tg\/khD4W28r4fU0znqkvKqKvLcoqqpGpdY2LtLr7g6Xb+HhZVWVJyu5dLcN\/Ikz8tlEI6r5v8tPCg\/otdBu8D4hXMTWpV26WFGXkOwn9BeZ2HCCEa+uE\/\/MwjE7k3cA\/dCtzSxUOXg3Twpm2Irq4UpabXuLYz40DERLRBM2E1I35QI2LD6GWZ4gDTfm9O9nVKNMpqJ+bAFHm37pb2iQh122h8TwjBgrKysVKlCGw40vuXs9R0Dl0hEFsa4RqjG84pjd2h5gIWTidJLw7f\/x0CjK\/10syr9\/Il9FcwgcEESPjkEHoqvny1w6A95Lu3syo0vD9I8NcDYNmEMLms\/Eevw5tJjMj8AsO5hVfv5Zdl5VRLgp1onPxbmydWlEj0zsTezpoZWJiUwG2NReh6fDP6jqNUqzUO7MQoJPUNAjNocpaKZ4lw87V0cYKVstVhHxTN6\/tDaPA5WViBSx097FCUFluJn67DGsbFsKw5YBqmUIs19tbw+q6OvwVpwusmWThNJJwi204yPyexrW3ZeTLlMU3r8psuZhCLFETatiOPHMqe4hpY8fBKhTi9KtXSoR4txvTyMXVUryu4To54O9Bk1vSeG6BrkVJRVWZWdXC3rZu3rbFaTVlKXcQdzuGqqKgQg8QOx9XLkzTO4mYJcXq0pQUhptAW1koNuyWgRFdYS6TkAmtLCiyEqhKC9R4f0ylrimrqGM5COjdt15TlWVnV+lzyyvt2OqaKjmABJ6eVjQYcvQQ5tyrLrxzU2UDS4lBM66bu\/nhT\/runhik\/RyawLdfXyQju7iqrqYGr6c5tk6e\/r5C81afQWznkCgkPzu\/tFpSVU504mlMntDVxcvblY\/bvLmAJCLw9heV3a0sS891jQ5w6RMBZWXklhVli4lrC90D\/H0ciS8LxNov1E+TklNZlZ+rsPMM9IXuptcSKlsQ2ynIryYlu7I8M1Nm7xUSJqhMvpknLcitcBAJ6N31AUMMh16hitT7BVXVFXKIwXf0C\/B3M7ScTMfeYer09LyKygpAYws9\/IM8eQ8TbqG007+HWXbefey8O3kBGsfeO8TedC6IXd+hwxt+4I849DmHxnN858B+zoFt00CIlUfoAI\/G317DXBsOW54Agqihvp0q+lMBxLD17htjwn4Qw9qzT7Rnp8MtE+pvphSWCOX3FJYI5fcUlkgLv\/\/888+fVDkoKB4blJ4hhYVC+T2FJUL5PYUl8lT6vcXI+FA8KR7s920U8DqcN1pxcuGU71Mw17m7d81p2F8Xq7u44sVPErSOM7fvfcvvoVbVWhRkeoOoLO3E\/23edy4ZD2c5h4+ft2L+cFdioh9ak\/TH9z8dvpIvxRj2oePf+mDBCFfGQ4T3bB7k920U8MwAths4KRxJuVF07lLJTE+jkhsmST51SwuAx\/jRnj3fup2GTG9wOuvsp4vWJ2mAbVBUH3164s3Dq97RinYvDWWV\/\/35yu23tTy\/6EGc3Pg7f365nOm+8+0Aepl54T1d8uQBft9WAc8cYJvIKdGsG\/H5Z+PLZni4EeKq0pR\/bmkA8JswzJWOKbJPb920+9+bRXIM4rr0HT594dvjA5ovbdEVH3pt+qYspP+Xx9YNIXo8msxfZr6+t8zq+Q2HPw4DD0re\/SHRGxSPQI\/jTg8Hr9z6f+MdsLJjb7+0Pu30vlvzermfPXRbC4ST1m55L5he+uebU3\/KOHkobc6HQvPCPw1jP+lb71ra9XtTCnhmAQnCJg3ixZ\/Li40ve3m6KwLkqadvqAAUPOk5J6z0rw\/f\/OGmhhc68Y1Boqq4fcdP\/PBWrm73hsmNE24A4jjYoId192yafEgMD2iL4y+WAWDz7IRejNK\/lpEkfyq\/WR4OEr1BuiqTULjjuboLiNfcJiBICNKqs++UScFtvG2GPfp5EBW2bVBvW5BRcz+lUuJlXrg2zN1C97\/Hvf4BCngdghvy4hCbcydzzlwpnzrVRZV6OkkJkH6TBthpszb\/cVMD+CO\/\/G5pfy6EjfWre2nlf8n7T+SMX+jSmJxmP2h84Ib16bfPZShiwhllVy\/gj8lu6Hh\/KOtX0uT+PbED1UJv0MYWuLNAgeTqsUsFPgOgxL\/iCD0fWbVULpboAWALjLu0wGxrDgA1smqZ0tqscHlXqfw9NZD6vSpjTzsKeB2HFfDCSPuTB7P\/vVoxaXTJv4lywBo4JdIGyBJSKvHTrhFGITGI6xXmDP7LLE8tVGJNfo87\/oBxvdanpyb9l6MKFSaeywPAYcRYH7rsPHlyf0YPGwMyoTcY\/sbsoKtb085\/NZOQF+aJ8FddQ6PRetiNdx0kfo9WnvuJVAGvN88c8zK9x4xxPbgz88y1Aq\/UBBngDZsUJoBAdcNiwvrFJ1izxYTNgUUDxgdDqSlXL+VOdT2TCYDL6OfxL2JJB5N3f1BxW91C3Ko+r2w+GHL+\/I0inTB4gF\/aZ2\/tKBS4WHNtBfgTVdfJDctx9EqD+i1fxDcz3KzVRd0SMr9XS6QkCniTXzTP7wHdfdQE751bMk6dOFohAdbjXgwh9Dt53sEikFpZeD1HMdqOB2Gy7BvEqJFzqCenZe6wMHpCHzjlTtw\/\/1jdB8Bj7HA3OoA7nLybozKpWwj04rvnz94sZkRNeyOQq835Y0shANah4Y582wh3kJCTfyNf9UwwvTrlbg0Agt4hIp6Z4T3oE8k0JDeIuM7YHTej4VczBTxzxu8bM3Ma8mLQlnVpRy8BIHppQqBhqIDpM2VOvxNrb5xb9RF\/aoxtxaX9l5SAM2DuRA86ULVIDttGTgil3bl1fA\/+w3vcEBf6A5L3HNDys+tN6hYuG1Jx7rdtV1V\/nI8b4Fx9\/WoeoPWeNSOIhdCGTY\/c9nXi0fffqQhjZV7MAsBz0kuBLAQxL\/zJ3vZj4LG82DT7wZPDflp9Sw+cR4\/zrd9FAXEav+YX2s8bd8Ue23YLQDy3\/lOXvTtvhKhtEwvbRLzQF7l1QwdAwIRnnRAzk3djyPUGJw\/58NuCb9cfvJJ4MZ9m4z\/8tXeXTHEjXnnRyM\/WVa1dt\/di\/EXAcu4\/Y\/EHs3wYDxHew+mQ3zdXwHsoYOGojf8b1ToU4viOXbZx7LI20bmt5Aph22E\/\/TesdSzS5D0Heju6hax+r32397W24bAg9JXVu17pdHjPpsd35CgoTED5PYUlQvk9hSVC+T2FJULpGVJYHJSeIYWFQvk9hSXS\/f2+06KIFBYIud\/rapLjblbomwexvaJjfMzaTVRbceNisrjlFVlWQmdvP087s6URmxUtJf5mnZu5hemWkKhKkj+dR6Vz2LP1D8n9HtMRm91DHAfXBvFOiGnzkBtq0\/gig7IPhmpk1dWS8pzbcjgm0vMh10bppWXVuh7QUnUAUlVJBsnTwR6RzmFP1z8k9R4M1RIiOSyRp58fv7PvOdvJv7e7cQItKsm8kpivkosVqNHvMbU4PzOrqAqv0ACdb+\/pH+iOP0BjQ4E49AmxKsvIrZDraBx735Deblxl1tVreUo8nTb32oV8UdgzvVsWu21u1mjZzfh7YswqcGB\/V6IQqDTzSkK+iuESMfApV30jVZX0tDb9dFD5o9E57PH6h+R+r9MQrahOnJH4P7FMBzEFjl6d18VEtdJaCSG\/w7M1VvaoLO\/2jWwpYusR6MtRl2XlZN7SIDHhLnQYhom+e0aGTuTk6V6dVyCuuH\/Pyra\/i4OvtyQtp0aHCL19HQk5Plmz7E3mFiZyt6OJKyWlYo0LmwmhyqoqFbEhvAv\/aX+IpKqSZE8HU5jWLdSS6BmShfd4\/cP2\/J6QZdBJpMDW1koultSVpt\/EWDHBdg\/x8SjLuHy+ac0WzHft09eoXqCXFBQS2hsefp547xGzwqqq0sWFFUonF+O6EtjGPyRAiGAOiPhyulReLUc97UUifibu93Qre2cnvH+va\/J7ktxUTi7uDvTKEklJtcbJmaGuqZDjTZCzc7dZXdFWVRKrM\/10\/Eh0C\/XmhevI4nd74aQGSP0e5jgFBgv0CFco5NMhXW361aQidUVRnc7uIRYl0Kzs7Q3KnZheIxNXSYvu3gR9wgNEDJ1CRtT+8uyEi9mNsZV1SrR+qSHHxuCcEJ3NhIEURXVYO5bHSHPzsHFzZpXk15WJtY7WYkIAkevSjb7S2qpKikiejrfoSZe1m0DqwxDdSuRo1RiNJ+RCRWpUo9VhwPyuDtvRr1d9\/x5gmorky8mVRRmFrkKf+kUiXM8+AcLGb2aIjjt7nfEYblg4aMYCQhO5wVxnV25+Vm1pjQKU4RUn39Wh+7i9aVVJk08HezQ6h3RaT9c\/JPN7TFV6Lzm3FrUO7Bdkh9co0mo5Rghnszt96w0OrNfpMYjN5TOABG9XmQIbAY1Y4FmrhHCzd+AiWJuqH0LIc4M4ju6C7DRxUaFeikLWrvas7vAISVUlCWE7U0+HwX00Oodk8btRXdE+ZH4PMax4mKJMprh9TSHiA2l1rZqQwPOweqjhQ2Vpxj2poZ+DaRU1VcTeFSwHJ7wepvHdXHnFObLCu\/foHtZodV5elYbtFhEVwGsnNxgh+j6q0pwchoOTi13TCdLc8OcFMUXutvfvVhfXAtjWVdQ9tlwgVZVksUw\/HTqb80h0Dnu8\/iF5\/57rERYO7mcWVtZWVgGYaeXo5uvn8ZAjIHppZZm04QeNJXBw8fLzMOg\/wzzPvn3B\/ayiypz7FQDh2nkGBnpbIy2kDluXjO3o6VSaVqqozC+gWTvZNT9FkhsBxBC62SHVFTqa0M22e7g9uaokDMieDu0R6Rz2cP3DdqpviGHrGRLl2ans6fb9hg9vPwohmxjaRjaxhdQh\/lMYOqRJ+ZDt1HuAU9O4ffOYpnMzgKplCh1RJHebbjSfgUxVkvTpPCqdw56tf2ghf\/WsyC+qqikrkQFI4OUlsIibpmgPi3ABTFNTlF+iBgyBW2CIa3cayKHoIizC72mCwMHDTWhAU1gslJ4hhcVB6RlSWCiU31NYIpTfU1giT9rvKelCiidBe36PqYsubP1h6183SlSA7Rr10rsfvh4tNP8Ptmhd2j+7dx3\/70ZGhRIjZoj1Hjhu1ryXYwyrYRmuI2a\/4o26+Bjmy8iTVk1+L3XyH3vmefekbY07A5meIX5GkXv21zVrj6argPeiA7+\/7GJ8lpSeYUcg93tUcn3dwi9O1wBhUFSIOvl6wq4PP3fcv2G8o1mej1ZfXDPvkzOENomVRy9\/a7Tyfvrd2K0rLye\/v+ObcU4I3XXEnPkj6iMrM2MT5cDk1BwMRQEMW1yDQKZn+IpzyaGPFm+6Jqa3+mOE3kzdQkrPsBX6ivO\/4U4vGPntzo8HWmuLLp5OUtj5mmsO+e1f1xJO7zrp+82LY4SEoqGm5ML3C744c23vsczhC4L0Df2cY8tyF7y2uxRPI9n16tADg9b99ZHygzGf3OY+99FC5q4fzoDZf+ya642QSyDqa24e2PTr8WvpZTIg8H1u5pKlL4cKYOmlxWM+vs0dsvqroLMbdl7MV7Dcnp2\/6uPJfuxu8Q6R6BnWzbArulkeOHftgl7nFiw70zj1CeiKKT3DDkHq94qs+CwAuBEj3Api9\/9ZpLENHDxigLeZU5NUOWev1AHAfvadN6KFDdPDnIcu3x68iGdvTUwOkzdEhe2fmz8n9fudNxTcyDlvjQzzYsJZTIT4ANi61dZtyLgQfz6sI5dAxHL2LHt3WxY3fMayN90qY3\/ZueU9MW\/fj+P5dEMmVzdvkA8cNeulxD2Hb1\/csDooctvMbiHYR6JnyII5Uau2D2Ai6jvnW8RXFlB6hh2CzO\/10pIqHd5NufPd7PNVxu0qtu0ateb3jwbbdtz1MXVFPrF+xKmPR3P1HYhl69Cm4YD5\/oOf8f8Z93tB4JCxo\/D+vTzb2K\/xW\/Lzt8OIq6rTN5JpGM5VHz6Cv6Ye0xe9MsIVQYN0166tu3Xkv9LRE4xT1ul93ln1biQPG8G9\/dL6zLyEXGX38PsmWugZ8gAEmCYeHaqi9Aw7Bum6E72W8HZU7r3k953P2+YdfP+dHRlnfj01K3qWOUo6kPElabtGpON4DOpjXb8EPZdMw1AuVWfX4kH5214fs60xZcm9Us0E46FbhA\/x5kF8ZxEdZGrVCh3+ZLvNPB0TeoYUnYPM72GuHZ\/4v\/+EEf4CLggZM9ZnR0ZmRWaVFnTc7yGWk68Q3KkuuZ2rmOpi1VDlo7LM+Nu6oMjADq3+oLObNu15kIah+ytfL4tqFD+jCbxZINV4O4hxCRcE0bqNt9djWs\/QNDCb0jPsGKR+z\/eLcAEpxUVJuYpnQjnqilxCGZgn4pplEabXqKGiPw9Xxm\/87UrAuwMNw2\/a0gvrl686W8MatObI14NNNdZ608v229Ew5PEVvjYgTSxXCHv17c3CVCXJyaU0O6tusZiwXUj0DMlgeVB6hh2C9AbpHuNejTywJvH4e\/NKYhzKr13HLeI++nkvplnZswLmfDwlYcmRguMfTDrvHuQthGuz7uVL8Tco5t3F0QK46bsWEDt+8YkWvOzfHTtsho56IaZ1Zu1oGLL0kyd6ndyRe\/SL1VYv99Fd37vnSo3jlC1\/vGNyBUq3gVTPcPnzylN7L5RodeUpxGBO2aXdP1fxmU5DZkyg9Aw7BPmLTXMY9eVm9cYfd51NvFQAuB4xL7+1bI6feW6PPySrfou37uy1Z\/uBM4kZaXfw7zKuU8jzE+fMeynSvnV\/ie48YvbIf76NLYrbd4jZZ3R0m8q6HQ1Dms\/sdWvB+i1H43ZuuAi47tEzly2bG8KB5K3z6FaQ6hkuGZR7cveBzIYQRfKpQ8kA+DlNeKEXpWfYEdpr0GBuwMQPf5n4YScvAXN9Rsz\/esR8kydbSBcijiM\/3T\/y08aTLVUNCdrRMERE0a9\/E\/16e\/nj9WbkmnOt83yKaUfPMHR73ETTiSg9ww7Q4ztyFBQmoPyewhKh\/J7CEqH8nsISofQMKSwOSs+QwkKh\/J7CEqH8nsISIZ2PqS5NirtX1yqU5RE1wCy1q3o9Q57\/wKiG\/e9RadaVhDwVzT58cB9b6rXrKPq6zITr+QoArIIG93dhErbUycqyU9MKJXrcvgMi3VvuA9cmvmXqFpJBug84jW1rb0dvmIeN6WQ1tSqM1u1mM5oJhpkjMPH40Nfl3COcuBFUXpB8I6NKQ7L0sk18c3UOe\/qETNIKF7H26dO3\/hjTVqddra5lOPo96s0lMWVBwuUMGeLYbzAhlVev2EdzCB8cYosZJQ3tQ3pxiu7ni9UQ284npJet5H5KZrlcTxe49w71s2M0KB8+KNoDhBPte\/nR8tJLgVd0tLmLyroefV0u7sVskRCtrFYbg1CFWGXl09fPqjzpVqn2gfFRhYXqFpLRgY4GpqnJTC3R0EQhfsLHuW88ZJQ0rM7MBY6urmheYV1V5u0bXI61o7tjaW5ZXUFqtv3AIOuORmtfOLE6O5vBcXC25j+kQm8XopfkpuYpuJ4R7ujdyur6QEQYHCmiwfra8g7F15upc9hjdAvJeLDf6+py00rUwMrfT8R8WJ9oqWfYYQyXQ4QBvX2tgURbmVig0kAuEQHuHD1PWnGnSlMnUWPWjA5F42vaF04EfP\/+oY5PoRyEXpJ3L0\/O8ezvxYeym4XDJF1Ok\/Ex1LQ+obbH6xaS8SC\/R5WlGUUqQHfyce5MF4fB5THru6KYXmnQX+goLGvDhelsOgAqGpEPngeT+KVG9U3rF9uPhj5IOJErelgt9i5FL827l4t7caSXgAYkjz6+xfIAv9fLCvMlGGA5u9l0ZuiF59m39XiO6YgY2ramgYgaGTN+bjatOGzjpB2KRiqcCNGewu9ZTF12P08OmEJNaXZGGd7fJDryirLsLNTFy82EegV5fAeeSX1CBpnO4dNni0dM+96sl5eWE9LeIoeu6u7BCJGxTqXCLU+DtDKxsksu057U4dMLptcR3RB1dUlhdWOgTlySr7NycxW0dU7y+Px+jpapW0hGu36PaWrFatxpeDbsLvq8h+h8IRtIlLUZqVkaG7SmVNZFPcuHEk580sAcj5jhHg2\/9JKMK4kFauN4vF5SlFWuxFBVHVGnqyrystR0GsveI3q4B2QqPlAjFqlbSEa7fo9qFESnGG8Pu+z9h3kevX2kKblV1fm5akefQB\/oVkoVpn\/0+7c8hHDiUwymkxTn5Tfuk6arLSmoxb\/NWc6uJOJdkIXqFpLRrt\/TBIHPdE4fx4SeIcz3HTTct\/EnhFh79R3k1fjbbahjw2FzSUOI5Ro13LWxYFb+g4b7mxetY8KJTzH43QxuvJsW99mB+JaqW0gGNVGAwhKh\/J7CEqH8nsISofQMKSwOSs+QwkKh\/J7CEqH8nsISeSr9vrnIIT2BEjykeOS04\/f6mut7f\/r1aPz9ai2AuK5hI2e9+9Zob07HfQ+tOLlwyvcpmOvc3bvmeNbvAovVXVzx4icJWseZ2\/e+5WcBO5B2ErP1DMlUKCk9w+aQ67qV\/f3J8t\/uotzQCa\/2Y+eeOXjp2Dfv6VwPrOzTYcUv2G7gpHAk5UbRuUslMz2NchGYJPnULS0AHuNHe\/Z863Yas\/UMyVQoRZWUnmFzSP1eXXwjCwXAbdqKJXM86PKAvCvvJ9Sk3hfr+3R8jhpsEzklmnUjPv9sfNkMDzdCzVCa8s8tDQB+E4a50jFycULToNUXV7\/2yVmx20sbflnUF00+uGHL4bi0SjWgCzzCx7yx9I2osu8mvRure3bd8dWRXG3W1pmEQqJgzP8d+bAPS522YfqbR+pivjn6qd2FzRv2XEipUAHENmj4nOVLXvDHr4ops0\/88PXW2EwpwzFyxqJhqau+SQQDfjj5XRT3iYklmqtnSKZCaa7OoeXqGbI8nw1j\/3el9NqFW4OH8jIvZOoAcB\/Y186sqXqQIGzSIF78ubzY+LKXp7siQJ56+oYKQMGTnnPCyMUJTeaFKjN2f\/DZWTF\/8MfrF4TzJBc\/WL7lKtT7xbdn+yCll\/ft2\/\/pCubOnwYHIrFJmXfKtJFe1XcTSgkRq7rkpFJtHw9x+p1KAHoNdkxeu2j9f3LBwLnvD9Rf\/Hnnv+tX0H3wZgzc+2XFuthKYB0xZXKwKuGnjSl4s8QyzFTWPjGxRHP1DMlUKKUplJ5hC0j9HhYO+XR94QfLf9++bM524rf72C\/WzTG7Q84NeXGIzbmTOWeulE+d6qJKPZ2kBEi\/SQPstFmbycQJF7q0zUdfdfH7TdvSQcDc9Z+MckSAVpxTqAbAMTBm+Jhoe\/qoZ4dk1bIdXax1g7xAUtatbClqlxGfC9wnT2P9uS8htXaOfd71Qrz5igkWeXut+XEiXRTQ24Or9c46ee1o9a2kMq2\/7NR5\/L3gj\/hs9bv9udikQOmUDy4qDWqIqvSnQCyxQ3qGZCqUHwSap3NouXqGQF95bs3K3+8oPUYvmNmPXXDmtz2nvljOt\/91QQjXrEacFfDCSPuTB7P\/vVoxaXTJv4lywBo4JdIGyBLIxAmVmAm\/T9uyPg0QfjvIy\/BlTXd55nn\/ndsy\/lw5+U+6nW\/ffjHDJk4NYtHR0ChHkIn7eJ3j5fta4bAhz1kn7NsXn1XrfztTBWz7RTjx2MnJx3\/5Kymn0ihmhqNT61BVeR6x8sq5ryfRwkM83whXcNEgKILKCp+wWGKH9QzJVChnrrV+hMXpCSAQRGxIYNhUoDm6kthdcVLAHbZ0yfRwDtAHa65M25RzdG\/ynG9juGZdgek9ZozrwZ2ZZ64VeKUmyABv2KQwAQSqHyhO2BJh+CDBnficXT+cHLV5Ct5jYvjM3nIw5Oyp81du3Em+d\/1M1vUz\/6Zt2L0sKCqUv+dM2s1kUXIdq1eMrxenj2D7tct3kzPKAGvQAHfFf6s++D1RKxq1YsNLwbyS\/cs\/+1fcrByNl2+rPPqExBLN0jMkUaGsQUZReoYtIPzeVDimVRGm0Gs0hiYP1SmJBRqo1sT61wdBdx81wXvnloxTJ45WSID1uBdDiBeHXJzQ5Ehp8MIvvvA9+ebs3+79uvHCs9+OtFWW52UXMaJmrxg3F2DqvAPzZ23JvnypYHGY1+Ag+pnr509eKAK+s33ZTPrAAPo\/V0+cqgVQwDP+jLI\/svB+u3X0xJHhAYzqvDJi8TWxWxTb3s0KpEhKbhcox4u4mDTrelH9pWGe+5MTSzRPz5BUhZJjps7hU\/lnnUcJ2Q3SXQY\/57pzT1HcN5+unxDKLbl0EO9asvqPCeQ8xDWchrwYtGVd2tFLAIhemhBoGCpoR5wQmFx0DjE8Jy+deGzR8asbf0mIeo+5fcm7\/9Q6D319WqQjIkm\/VAwAw7u3PR3iB+Bd\/MSMhGLgPqaXAIZg\/wGeIPE63mXxGBgsoCMedngXtvbyoaN\/p1b8e7jSFgaVlddjLw15ceRg69OnamNXfcKf2EuZ+PeNxpW+LP8nJZZovp7heNMqlFxnIaVn2BzSF5vp\/\/qG7+kbfztx5djOJNzwzn0nzFj49hDhw7TkNPvBk8N+Wn1LD5xHj\/Otl0RsR5yQBIgb8to7g2I\/i4\/9YefEXe+sX0HbsPfC9vUX8FMs+96jFi1YPIwonrBPtDPIKAG2YeEOxOelbZ\/+eJe\/DNhFhNsjNMbzKxYkfbEt\/r+fN+U8O+fzn4Ivf7RkT+ahnf8N27bouwWSr7bHJf25vyxm+sJXNF9tzcQ\/XPFanfGkxBIfQs9wEokKJaVn2IJ2GjS6fczrq2NaCwQ+FLBw1Mb\/jWodSipO2EKEsPkxZDvkmzONvyas3DxhZduL0X3mHYyb1\/Sb4ff24bi3mzIPnP7NgelNp4O3nzdILWJaadWg1z6Lft+f2HtGk\/nzaTzQyoFveA+fkFjiQ+kZkqhQUnqGzenxHbkOo87c\/tb8IxWwx6i5U4Kh9OOHyvA2\/\/mRHhZQ+VkglN83wAqav\/4TbP2O02d+W3cG0G39np07\/91XLKHNt0Qov28EYnmMWrJh1JInXQ6KxwDl9xSWCOX3FJYI5fcUlgjl9xSWCOX3FJZIvd+TzNKhoOiZEH5POT2FpUE2H5OCoidD9e8pLBHK7yksEcrvKSwR5PmJwLsfeGcxsHvSRaGgeGwgv30HbicBDFBftxQWBOIWAJx8II3mSReEguIxgmw7BPV\/BvhaPemCUFA8RpD0E+DwbrBgE5gmfNJloaB4XCA\/\/B9YOg1czALTgp50WSgoHhfIrXMgFwOjnKjvWgoLAvniLzB8KfSy1wNjUlD0HJCTeyCtFlDjORQWBfX3WgpLhJp\/T2GJUPPvKSyR+vn3lOtTWBRUfU9hiVDrrSgsEeq7lsISqe\/nUH5PYVEglNNTWCDUeA6FJUKN51BYIlR9T2GJUN+1FJZI\/Xct5fcUFgU1nkNhiVD9ewpLhOrnUFgi9d+1MPwwOuQUFN0UBDZA1fcUFgXVz6GwRFr4fVxc3JMuDwXF4+D\/ASRi6oKR6drWAAAAAElFTkSuQmCC\" alt=\"\" width=\"202\" height=\"177\" name=\"Imagem2\" align=\"left\" border=\"0\" \/><br \/>\n<\/span><\/span><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Para o ambiente gr\u00e1fico foi usado a biblioteca &#8216;igbr&#8217;. No site oficial prisma h\u00e1 v\u00e1rios exemplos na se\u00e7\u00e3o p\u00e1gina de posts.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: medium;\"><i><b>4.2 lendo uma <\/b><\/i><i><b>linha <\/b><\/i><i><b>espec\u00edfic<\/b><\/i><i><b>a<\/b><\/i><i><b> da tabela:<\/b><\/i><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i><b>S<\/b><\/i><i><b>alve como ler_linha.prisma<\/b><\/i><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b style=\"font-style: inherit; line-height: 1.5;\">\u00a0<\/b><\/span><\/span><\/span><\/p>\n<pre class=\"lang:prisma decode:true\">local sql = inclua'sqlite3';\r\n\r\nret , base = sql.abra(\"teste.bd\");\r\n\r\nse ret &lt;&gt; sql.SQLITE_OK entao\r\n\r\nimprima(\"Erro: \", sql.mensagem_erro(base));\r\n\r\nsql.feche(base);\r\n\r\nfim\r\n\r\nstr_exec = \"SELECT Id, Nome , Preco FROM Carros WHERE Id = 3\";\r\n\r\nfuncao sql_func(valor,coluna)\r\n\r\nimprima('++++++++++++++++++++++');\r\n\r\nimprima( coluna[1] , coluna[2] , coluna[3]);\r\n\r\nimprima( valor[1] , valor[2] , valor[3] );\r\n\r\nimprima('++++++++++++++++++++++');\r\n\r\nfim\r\n\r\nret , msg = sql.exec(base , str_exec , 'sql_func(%s,%s)' );\r\n\r\nsql.feche(base);\r\n\r\nleia();<\/pre>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Vamos direto para as novidades aqui, comando sqlite3 novo:<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b style=\"font-style: inherit; line-height: 1.5;\">str_exec = <span style=\"color: #000099;\">&#8220;SELECT Id, Nome , Preco FROM Carros WHERE Id = 3&#8221;<\/span>;<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i>Pode ser entendido como: SELECIOME as colunas Id, Nome e Preco DA tabela Carros ONDE Id for igual a 3.<\/i><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Ao ser executada essa string de comando sqlite3, ela procura pela linha onde a coluna Id for igual a 3 e retorna os valores para a fun\u00e7\u00e3o de retorno sql_func (); <\/span><\/span><\/span><\/p>\n<pre class=\"lang:prisma decode:true\">funcao sql_func(valor,coluna)\r\n\r\nimprima('++++++++++++++++++++++');\r\n\r\nimprima( coluna[1] , coluna[2] , coluna[3]);\r\n\r\nimprima( valor[1] , valor[2] , valor[3] );\r\n\r\nimprima('++++++++++++++++++++++');\r\n\r\nfim<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Esta fun\u00e7\u00e3o acima \u00e9 a fun\u00e7\u00e3o call back(retorno) que \u00e9 executada automaticamente pela sql.exec() e recebe os valores nome da coluna da tabela sqlite3 e seus dados em valor.<\/span><\/span><\/span><\/p>\n<p><span style=\"font-family: Arial, sans-serif; color: #000000;\"><span style=\"font-size: small;\"><b>ret , msg = sql.exec(base , str_exec , &#8216;sql_func(%s,%s)&#8217; ); <\/b><\/span><\/span><\/p>\n<p><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">E, por fim, executamos a string de comando sqlite3, relembre que o terceiro par\u00e2metro \u00e9 a string da fun\u00e7\u00e3o de retorno par\u00eanteses e os dois %s que ser\u00e3o substitu\u00eddos pelos valores e colunas da tabela sqlite3.<\/span><\/span><\/p>\n<p><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i>*Nota \u2013 Veja que a fun\u00e7\u00e3o sql_func tem dois par\u00e2metros valor e coluna que s\u00e3o os %s passados para sql.exec. Esses dois valores s\u00e3o tabelas prisma e o n\u00famero de elementos depende do n\u00famero de colunas criadas na tabela sqlite3.<\/i><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Este exemplo acima funciona bem como consulta de dados. Caso queira pegar os dados, em vez de simplesmente imprimi-los, use uma tabela prisma para isso, assim:<\/span><\/span><\/span><\/p>\n<p>&nbsp;<\/p>\n<pre class=\"lang:prisma decode:true\">local dados = { [0] = nulo }; \/\/evitar erros no windows.\r\nlocal cont = 1;\r\nfuncao sql_func(valor,coluna)\r\n\r\ndados[cont] = {}; \/\/cada \u00edndice da tabela acima tamb\u00e9m ser\u00e1 uma tabela\r\n\r\ndados[cont][coluna[1] ] = valor[1]; \/\/os campos ser\u00e3o os nomes das colunas, valor ser\u00e1 os valores.\r\n\r\ndados[cont] [coluna[2] ] = valor[2];\r\n\r\ndados[cont] [coluna[3] ] = valor[3];\r\n\r\ncont = cont + 1; \r\n\r\nfim\r\n<\/pre>\n<p>N\u00e3o esque\u00e7a no final de usar o comando sis.saia(0) para evitar erro no Windows ap\u00f3s fechar o programa ou se estiver usando modulo igbr use: ig.conecte( janela, ig.destruido , &#8216;sis.saia(0)&#8217; );<\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Pronto, agora podemos acessar os dados assim: dados.Id, dados.Nome , dados.Preco<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Sa\u00edda do exemplo acima:<\/span><\/span><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAANYAAAB6CAIAAABMXzrsAAAEpUlEQVR4nO3dC26jMBSFYVRlF1lxF9QVdC3dRjuV0FDn2tgXBziX+P+kGVGXh4GDcYCG28fHx\/v7+9vb2wQo3H7+U9cEg7r9\/vv8\/FRXA+O60f5BiwhC7KauAEZHBCHGiRhithX8+vq63++URCgZBK0gxP5awd+jMB34PSIpUZVMI\/mL4Lzm6emAElXJUPhEDDHbF8wPREpUJYOgFYQYEYQYEYQYEYQYl6Yh9tAKLtdI809n51+1SpcY4ZrZsnGmgT+9HuEhgvOV+jjbN1RlpiR50Sp2afQFIdaIYHr2OV\/eKpuuQnqbNW2i0nGOMy\/U3NjNl+4pGVktgsX9KlTsHS75S\/\/Px9+rAvNAvoi1pXtKdqzhFUU\/EacPkjgdd7RU7qp5jlXSVvSCF2W0e5qcbRW9FZy6GsKZ9jTHc9FOheuCppulqVdJWp90X5phYWc\/X7qnZHD2uqD5tXAbFUNm6uMZ54j6VBbEc1lbXeBEjNdGBCFGBCFW+Au6WYT+Sn4vZFOtTrg0XVwKn4U3sX9BN4vwQTjaXYRiffpuiiBVOBEH3FjR6jNbu0lYLxFXOp72F3oEVH8oIW\/CuQ4XWe3StNbaJdy1E3TxDGgmf2bVol2ofxnlS9NxUjgPmL7X1vnsFZ1Qzw29jNv397e6Dht09KiiPXIG4+GiTISWb7FWn+5+\/ZP5yxe66VNItM0bx8NFmVDd9kp9lj1afwjAzOfJzlyxPnm2PCVINR5T0Op7KKFS8uQK8lzCEbhBBzEiCDEiCDEiCDEiCDFe+hC3ZBC0ghDjpQ8RS6aR8NKHiCVD4UQMMRvBvttNlBxRMghaQYgRQYgRQYgRQYgRQYgRQYgRQYgRQYgRQYgRQYgRQYgRQYgRQYgRQYgRQYgRQYgRQYgRQYgRQYgRQYgRQYgRQYgRQYgRQYgRQYgRQYgRQYgRQYgRQYgRQYgRQYhFfCX28t7AtNC8ya0yTqVk8O8zjcm+Evu+xzv7nplD\/g24lTkXI1X59sj05YmXS2GxzldcEaPwMljhHjptuRdNYe4FVqHWF8xPYWlh2gKlXxU\/D5svj\/e8ZtaTiR2jU59V37rn49RnvstWLXZO8vPDMuxZizM1Po7kq1dcpXQg37XFqYy1s4yphkdzB6drV0lhXufmuhfHyau3y1Zd6l+c+ab18kx1HNsXbE6Qj1PpuvnnvLaJ18asz8oz82n7Fvesu2cbVqrq+VXfDBd9e\/A45VdiV7bjcZvm0P5ZvW32MG1V9zhaAWvYOBFXToWeXZiPU5\/KmcJmQ9icubPyy4TFcs+0zdE6DrmOqfL6NGvo2Xe7NBnevuDyo6d\/Zrq3zqnSaU3H2TPhojmVc8OtrXvlANg0zrRx+6x99Kl3+0x9PDUsztlT0se+ACwfNjzdNf9olWmLXbpNw2u\/7d5kps+01lVdq4mzkpN77TxTNQcqHW4zw2ZJH27Qoax5nBRLOhTexLnvAi5q5HU\/Ga0gxIggxIggxIggxIggxIggxIggxIggxIggxIggxIggxIggxMoPawGnoRWEGBGEGBGEGBGEGBGEGBGEGBGEGBGEGBGEGBGEGBGEGBGEGBGE2D+DKZ+s9Nyv2gAAAABJRU5ErkJggg==\" alt=\"\" width=\"214\" height=\"122\" name=\"Imagem3\" align=\"left\" border=\"0\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: medium;\"><i><b>4.<\/b><\/i><i><b>3 Comandos parametrizados do sqlite3.<\/b><\/i><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><i><b>Comando sql.prepare_v2();<\/b><\/i><\/span><\/p>\n<pre class=\"lang:prisma decode:true\">local sql = inclua'sqlite3';\r\nret , base = sql.abra(\"teste.bd\");\r\n\r\n    \r\n  se ret &lt;&gt; sql.SQLITE_OK entao\r\n        \r\n        imprima(\"Erro: \", sql.mensagem_erro(base));\r\n        sql.feche(base);\r\n  fim \/\/fim se ret &lt;&gt;\r\n\r\nsql_cmd = \"SELECT Id, Nome , Preco FROM Carros WHERE Id = ?\"\r\n    ret , res = sql.prepare_v2( base , sql_cmd );\r\n\r\n    se ret == sql.SQLITE_OK entao        \r\n        sql.vincule_int( res , 1, 4); \/\/vincula o valor 4 da tabela sql ao indice 1 \r\n   senao        \r\n        imprima( \"Falha na execucao: \" .. sql.mensagem_erro(base) );\r\n       leia();\r\n       sis.saia(0);\r\n    fim\r\n    \r\n    pas = sql.passe(res); \r\n    \r\n    se (pas == sql.SQLITE_LIN) entao       \r\n        imprima ( sql.coluna_texto( res , 1) .. ' : ' .. sql.coluna_texto(res, 2) .. ' : ' .. sql.coluna_texto(res, 3) );        \r\n    fim\r\n\r\n    sql.finalize(res); \r\n    sql.close(base);\r\n\r\nleia();\r\n<\/pre>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Detalhes:<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #0000ff;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>&#8220;SELECT Id, Nome , Preco FROM Carros WHERE Id = ?&#8221;;<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Essa \u00e9 a string de comando sqlite. O ponto de interroga\u00e7\u00e3o ser\u00e1 substitu\u00eddo por um valor posteriormente.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"> <span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>ret , res = sql.prepare_v2( base , <\/b><b>sql_cmd<\/b><b> );<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Este comando compila (prepara) a string sqlite3. Par\u00e2metros: 1- banco de dados aberto, 2- \u00e9 a string sqlite3. <\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>Dois retornos:<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"> <span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>ret <\/b>\u00e9 um n\u00famero que pode indicar \u00eaxito (zero) ou falha (qualquer outro n\u00famero); <\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>res<\/b> \u00e9 a string sqlite j\u00e1 compilada.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>sql.vincule_int( res , 1, 4); <\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Esta fun\u00e7\u00e3o coloca o valor 4 no lugar do <b>\u201c?\u201d <\/b>dentro da string de comando sqlite. <\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Par\u00e2metros: 1 \u2013 string sqlite compilada, 2 \u2013 \u00edndice sqlite, 3 \u2013 n\u00famero que ficar\u00e1 no lugar do <b>\u201c?\u201d;<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"> <span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>pas = sql.passe(res); <\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">A fun\u00e7\u00e3o sql.passe() analisa a string sqlite compilada e retorna uma linha se houver (pas); \u00fanico par\u00e2metro \u00e9 a string compilada.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>se (pas == sql.SQLITE_LIN) entao <\/b> <\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">A condi\u00e7\u00e3o testa se pas (retorno de sql.passe() ) \u00e9 um alinha sqlite v\u00e1lida.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>sql.coluna_texto( res , 1)<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Esta fun\u00e7\u00e3o retorna o valor da coluna 1 da tabela Carros. (Id)<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>sql.coluna_texto( res , 2) <\/b>retorna o valor da coluna 2; (Nome)<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>sql.coluna_texto( res , 3) <\/b>retorna o valor da coluna 3; (Preco);<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Obs. Este m\u00e9todo, particularmente, tem um pequeno grau de complica\u00e7\u00e3o mas \u00e9 mais r\u00e1pido e seguro. <\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: medium;\"><i><b>4.<\/b><\/i><i><b>3 Leitura de dados sqlite3. (N\u00e3o ocorre erro no Windows, comando mais confi\u00e1vel);<\/b><\/i><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: medium;\"><i><b>Lendo todos os dados da tabela:<\/b><\/i><\/span><\/span><\/span><\/p>\n<pre class=\"lang:prisma decode:true\">local sql = inclua'igsqlite3';\r\nret , base = sql.abra(\"teste.bd\");\r\n\r\n    \r\n   se ret &lt;&gt; sql.SQLITE_OK entao\r\n        \r\n        imprima(\"Erro: \", sql.mensagem_erro(base));\r\n        sql.feche(base);\r\n  fim \/\/fim se ret &lt;&gt;\r\n   \r\n        \r\n    ret , res = sql.prepare_v2( base , \"SELECT * FROM Carros;\" ); \r\n\r\n   se ret &lt;&gt; sql.SQLITE_OK entao erro('Erro'); fim\r\n \r\n enquanto 1 inicio   \r\n    pas = sql.passe(res); \/\/executa a string compilada res.\r\n    \r\n    se (pas == sql.SQLITE_LIN) entao     \r\n        imprima( sql.coluna_nome(res, 1)  , sql.coluna_nome(res, 2) , sql.coluna_nome(res, 3) );  \r\n        imprima ( sql.coluna_texto( res , 1) .. ' : ' .. sql.coluna_texto(res, 2) .. ' : ' .. sql.coluna_texto(res, 3) ); \r\n    senao \r\n        quebre;       \r\n    fim\r\n    \r\n fim \/\/enquanto\r\n\r\n    sql.finalize(res); \/\/ **\/\/\r\n    sql.close(base);\r\n\r\nleia();<\/pre>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><span style=\"color: #000099;\"><i><b>&#8220;SELECT * FROM Carros;&#8221;<\/b><\/i><\/span><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Esta \u00e9 a cl\u00e1usula sqlite, ela seleciona todos (*) os dados da (from) tabela Carros.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>ret , res = sql.prepare_v2( base , <span style=\"color: #000099;\"><i>&#8220;SELECT * FROM Carros;&#8221;<\/i><\/span> ); <\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Acima compilamos a cl\u00e1usula.<\/span><\/span><\/span><\/p>\n<pre class=\"lang:prisma decode:true\">enquanto 1 inicio   \r\n    pas = sql.passe(res); \/\/executa a string compilada res.\r\n    \r\n    se (pas == sql.SQLITE_LIN) entao     \r\n        imprima( sql.coluna_nome(res, 1)  , sql.coluna_nome(res, 2) , sql.coluna_nome(res, 3) );  \r\n        imprima ( sql.coluna_texto( res , 1) .. ' : ' .. sql.coluna_texto(res, 2) .. ' : ' .. sql.coluna_texto(res, 3) ); \r\n    senao \r\n        quebre;       \r\n    fim\r\n    \r\n fim \/\/enquanto<\/pre>\n<p><b><\/b><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i>*Nota \u2013 Baixe a vers\u00e3o mais atual de Prisma para a fun\u00e7\u00e3o sql.coluna_nome()<\/i><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Depois de compilar a string sqlite podemos usar a fun\u00e7\u00e3o <b>sql.passe(). <\/b>A cada repeti\u00e7\u00e3o dessa fun\u00e7\u00e3o uma linha da tabela \u00e9 percorrida. O retorno \u00e9 um c\u00f3digo de erro que pode indicar uma linha v\u00e1lida (sql.SQLITE_LIN que \u00e9 igual a 100) ou n\u00e3o. Caso seja uma linha v\u00e1lida \u00e9 poss\u00edvel obter os nomes das colunas com a fun\u00e7\u00e3o <b>sql.coluna_nome()<\/b> e o valor das colunas com a fun\u00e7\u00e3o <b>sql.coluna_texto().<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i><b>Dica \u2013 use a fun\u00e7\u00e3o convnumero() caso queira converter de string para n\u00famero.<\/b><\/i><\/span><\/span><\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: medium;\"><b>5 \u2013 pegar o n\u00famero atual de registros id de uma tabela;<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Muitas vezes podemos querer saber qual foi o id da \u00faltima linha inserida em uma tabela, para isto temos a fun\u00e7\u00e3o:<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"> <span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i><b>sql.ultimo_id( base );<\/b><\/i><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Para essa fun\u00e7\u00e3o funcionar devemos usar um tipo de coluna chamado de chave de auto contagem ou auto incremento.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Nesse tipo de coluna n\u00e3o precisamos colocar seu valor 1, 2, 3, 4 \u2026 a contagem \u00e9 feita automaticamente. Veja abaixo:<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Salve como ultimo_id.prisma<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b style=\"font-style: inherit; line-height: 1.5;\">\u00a0<\/b><\/span><\/span><\/span><\/p>\n<pre class=\"lang:prisma decode:true\">sql = inclua 'sqlite3';\r\n\r\nret , base = sql.abra(sql.memoria);\r\n\r\nse ret &lt;&gt; sql.SQLITE_OK entao\r\n\r\nimprima( \"Erro:\" , sql.mensagem_erro(base) );\r\n\r\nsql.feche(base);\r\n\r\nsis.saia(); \/\/deixa o programa em erro fatal.\r\n\r\nfim\r\n\r\nstr_exec = [[\r\n\r\nCREATE TABLE Amigos(Id INTEGER PRIMARY KEY, Nome TEXT, idade INT);\r\n\r\nINSERT INTO Amigos(Nome, idade) VALUES ('Tom', 15);\r\n\r\nINSERT INTO Amigos(Nome, idade) VALUES ('Rebecca', 34);\r\n\r\nINSERT INTO Amigos(Nome, idade) VALUES ('Jim', 44);\r\n\r\nINSERT INTO Amigos(Nome, idade) VALUES ('Roger', 23);\r\n\r\nINSERT INTO Amigos(Nome, idade) VALUES ('Robert', 32);\r\n\r\n]];\r\n\r\nret , erro_msg = sql.exec(base, str_exec );\r\n\r\nse ret &lt;&gt; sql.SQLITE_OK entao\r\n\r\nimprima( \"SQL error:\", erro_msg);\r\n\r\nsql.feche(base);\r\n\r\nsis.saia();\r\n\r\nsenao\r\n\r\nimprima(\"Tabela criada e dados inseridos com sucesso\\n\");\r\n\r\nfim\r\n\r\nult_id = sql.ultimo_id( base ); \/\/esta funcao pega o ultimo id primary key inserido na tabela.\r\n\r\nimprima( \"Ultima chave id da tabela Amigos \u00e9:\" , ult_id);\r\n\r\nsql.feche(base); \/\/fechado a base de dados.<\/pre>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Novidades neste exemplo:<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b style=\"font-style: inherit; line-height: 1.5;\">ret , base = sql.abra(sql.memoria);<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Ao usar o comando acima com o par\u00e2metro sql.memoria um banco de dados ser\u00e1 criado na mem\u00f3ria, n\u00e3o haver\u00e1 nenhum arquivo.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>str_exec = [[ <\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"> <span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>CREATE TABLE Amigos(Id INTEGER PRIMARY KEY, Nome VARCHAR(55), idade INT); <\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"> <span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>INSERT INTO Amigos(Nome, idade) VALUES (&#8216;Tom&#8217;, 15); <\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"> <span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>INSERT INTO Amigos(Nome, idade) VALUES (&#8216;Rebecca&#8217;, 34); <\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"> <span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>INSERT INTO Amigos(Nome, idade) VALUES (&#8216;Jim&#8217;, 44); <\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"> <span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>INSERT INTO Amigos(Nome, idade) VALUES (&#8216;Roger&#8217;, 23); <\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"> <span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>INSERT INTO Amigos(Nome, idade) VALUES (&#8216;Robert&#8217;, 32); <\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"> <span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>]];<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Acima \u00e9 a string de comandos sqlite3. Podemos perceber nela a chave de auto contagem na cria\u00e7\u00e3o da tabela:<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>CREATE TABLE Amigos(Id INTEGER PRIMARY KEY, Nome VARCHAR(55), idade INT); <\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">eis a chave: <b> Id INTEGER PRIMARY KEY, <\/b>ser\u00e1 sempre assim n\u00e3o a modifique.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">A segunda coluna criada \u00e9 o Nome que \u00e9 do tipo VARCHAR(55) (uma string de no m\u00e1ximo 55 caracteres) e a terceira coluna \u00e9 idade do tipo INT (n\u00famero inteiro);<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Veja que quando usamos uma chave (KEY) de auto contagem, devemos especificar o nome das colunas entre par\u1ec1nteses ao inserir os dados, deixando de fora a chave de auto contagem. Veja abaixo:<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>INSERT INTO Amigos(Nome, idade) VALUES (&#8216;Tom&#8217;, 15); <\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">E assim com os comandos restantes.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"> <span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>ult_id = sql.ultimo_id( base ); <\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Aqui pegamos o n\u00famero da \u00faltima chave (<b>INTEGER PRIMARY KEY<\/b>), o retorno \u00e9 um n\u00famero prisma.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">O resultado ser\u00e1 5 pois criamos somente 5 linhas no exemplo, mas pense em um arquivo com milhares de dados, esta fun\u00e7\u00e3o \u00e9 muito \u00fatil para inserir um novo dado sem correr o risco de errar a contagem.<\/span><\/span><\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: medium;\"><b>6 &#8211; pegar o nome de todas as tabelas existentes em um bd;<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Algumas vezes n\u00f3s podemos querer descobrir quais tabelas est\u00e3o criadas em um bd, mas sem fazer ideia do nome delas. Para isso veja o exemplo abaixo:<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Salve com o nome de nome_tabela.prisma<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b style=\"font-style: inherit; line-height: 1.5;\">\u00a0<\/b><\/span><\/span><\/span><\/p>\n<pre class=\"lang:prisma decode:true\">local sql = inclua 'igsqlite3'; \/\/incluindo a biblioteca sqlite3\r\n\r\nret , base = sql.abra(\"Teste.bd\");\r\n\r\nse ret &lt;&gt; sql.SQLITE_OK entao\r\n\r\nimprima( \"Erro:\" , sql.mensagem_erro(base) );\r\n\r\nsql.feche(base);\r\n\r\nsis.saia(); \/\/deixa o programa em erro fatal.\r\n\r\nfim\r\n\r\ndados = {};\r\ndados[0] = nulo; \/\/atribua um valor qualquer para n\u00e3o dar erro no Win.\r\ncont = 1;\r\n\r\nfuncao sql_call ( valores , nome_coluna )\r\n\r\n  dados[cont] = {[0]=nulo};\r\n\r\n  dados[cont] = { nome_coluna[1], valores[1] }\r\n\r\n  cont = cont + 1;\r\n\r\nfim\r\n\r\nret , erro_msg = sql.exec(base, \"SELECT name FROM sqlite_master WHERE type='table';\" , \"sql_call( %s , %s )\" );\r\n\r\nse ret &lt;&gt; sql.SQLITE_OK entao \/\/se nao for igual a OK \u00e9 erro.\r\n\r\nimprima( \"SQL error:\", erro_msg );\r\n\r\nsql.feche(base);\r\n\r\nsis.saia();\r\n\r\nsenao\r\n\r\nimprima(\"Base de dados aberta e executada com sucesso!\\n\");\r\n\r\nfim\r\n\r\n\/\/imprimindo a tabela:\r\n\r\npara i = 1 , #dados inicio\r\n\r\nimprima('\\n************************************');\r\n\r\nimprima( dados[i][1] , dados[i][2] );\r\n\r\nfim\r\n\r\nsql.feche(base); \/\/fechado a base de dados.<\/pre>\n<p><span style=\"color: #000000;\"><strong>Detalhes:<\/strong><\/span><\/p>\n<p>&nbsp;<\/p>\n<pre class=\"lang:prisma decode:true\">funcao sql_call ( valores , nome_coluna )\r\n\r\ndados[cont] = {[0] = nulo};\r\n\r\ndados[cont] = { nome_coluna[1], valores[1] }\r\n\r\ncont = cont + 1;\r\n\r\nfim<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Acima est\u00e1 a fun\u00e7\u00e3o de retorno (call back);<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">A novidade aqui \u00e9 o comando sqlite3 que permite selecionar o nome de todas as tabelas do bd:<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>&#8220;SELECT name FROM sqlite_master WHERE type=&#8217;table&#8217;;&#8221; <\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Leia: SELECIONE name de sqlite_master ONDE o tipo for &#8216;tabela&#8217;; <\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">sqlite_master \u00e9 uma esp\u00e9cie de cabe\u00e7alho de informa\u00e7\u00f5es do bd.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Este comando sqlite3 \u00e9 passado como segundo par\u00e2metro na fun\u00e7\u00e3o abaixo:<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>sql.exec(base, &#8220;SELECT name FROM sqlite_master WHERE type=&#8217;table&#8217;;&#8221; , &#8220;sql_call( %s , %s )&#8221; ); <\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Que ao ser executado, executa tamb\u00e9m a fun\u00e7\u00e3o call back passando os dados selecionados no comando sqlite3.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: medium;\"><b>7 &#8211; deletar e atualizar os dados de uma tabela;<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: medium;\"><b>7.1 Apagando uma linha da tabela:<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Deletar uma linha \u00e9 simples, veja o exemplo abaixo:<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">salve como deleta.prisma<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b style=\"font-style: inherit; line-height: 1.5;\">\u00a0<\/b><\/span><\/span><\/span><\/p>\n<pre class=\"lang:prisma decode:true \">local sql = inclua'sqlite3'\r\n\r\nlocal xstr = [[\r\n\r\nDELETE from Carros where Id = 2;\r\n\r\n]];\r\n\r\nfuncao exec() fim;\r\n\r\nlocal ret , base = sql.abra('Teste.bd');\r\n\r\nse ret &lt;&gt; sql.SQLITE_OK entao\r\n\r\npoe('Erro ao abrir banco de dados');\r\n\r\nsis.saia();\r\n\r\nfim\r\n\r\nlocal ret , erro_msg = sql.exec(base, xstr , \"exec()\" );\r\n\r\nse ret &lt;&gt; sql.SQLITE_OK entao\r\n\r\npoe('Erro: ' .. erro_msg );\r\n\r\nsis.saia();\r\n\r\nsenao\r\n\r\npoe'dado deletado com sucesso';\r\n\r\nfim\r\n\r\nleia();<\/pre>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">A novidade neste exemplo \u00e9 o comando sqlite3 para deletar uma linha a partir de um id:<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b style=\"font-style: inherit; line-height: 1.5;\">DELETE from Carros where Id = 2;<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Leia: Apague de carros a linha onde o id for igual a 2;<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Para apagar todos os dados da tabela use:<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>DELETE from Carros;<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Para apagar completamente uma tabela:<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>DROP TABLE IF EXISTS Carros;<\/b><\/span><\/span><\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: medium;\"><b>7.2 Atualizando um dado da tabela:<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>Salve o programa como atualiza_bd.prisma<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><span style=\"font-size: small; line-height: 1.5;\">\u00a0<\/span><\/span><\/span><\/span><\/p>\n<pre class=\"lang:prisma decode:true\">local sql = inclua'sqlite3';\r\n\r\nret , bd = sql.abra('teste.bd');\r\n\r\nse ret &lt;&gt; sql.SQLITE_OK entao\r\n\r\nimprima( 'erro ao tentar abrir banco de dados, ENTER para sair');\r\n\r\nleia();\r\n\r\nsis.saia();\r\n\r\nfim\r\n\r\nsql_str = [[ UPDATE Carros set Nome = 'NADA_AQUI' where Id = 1;\r\n\r\nSELECT * from Carros; ]];\r\n\r\nfuncao sql_func(v , col)\r\n\r\npara i = 1 , #v inicio\r\n\r\nimprima( col[i] , v[i] );\r\n\r\nfim\r\n\r\nfim\r\n\r\nret, msg = sql.exec(bd , sql_str , 'sql_func(%s,%s)' );\r\n\r\nse ret == 0 entao imprima(\"sucesso!!!\");\r\n\r\nsenao imprima(\"Erro\" , msg );\r\n\r\nfim\r\n\r\nleia();<\/pre>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>Detalhes:<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><span style=\"font-size: small; line-height: 1.5;\">O comando sqlite3 para atualizar um dado \u00e9:<\/span><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>[[ UPDATE Carros set Nome = &#8216;NADA_AQUI&#8217; where Id = 1; ]]<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Leia-se ATUALIZE Carros defina Nome igual a &#8216;NADA_AQUI&#8217; onde o Id for igual a 1;<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">basta executar essa string e a linha que tiver o id 1 na coluna Nome ser\u00e1 trocado o valor por &#8216;NADA AQUI&#8217;;<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Obs. para mudar o valor de outras linhas troque o Id = 1 por Id = 2; ou 3, 4, 5 etc.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i><b>Para mudar n\u00e3o s\u00f3 a coluna nome mas outras colunas tamb\u00e9m basta acrescentar na mesma string sqlite3 o nome das outras colunas, assim:<\/b><\/i><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>[[ UPDATE Carros set Nome = &#8216;NADA_AQUI&#8217; , Preco = 77777 where Id = 1; ]]<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Veja que ao acrescentar mais uma coluna devemos separ\u00e1-la por virgula.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>[[ SELECT * from Carros; ]]<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Este outro comando na mesma string sqlite3 serve para selecionar a tabela Carros para imprimirmos o valor modificado.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">O comando sqlite3 completo acima com mais uma coluna para modificar o valor fica:<\/span><\/span><\/span><\/p>\n<pre class=\"lang:prisma decode:true \">sql_str = [[\r\n\r\nUPDATE Carros set Nome = 'NADA_AQUI' , Preco = 77777 where Id = 1;\r\n\r\nSELECT * from Carros;\r\n\r\n]];<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\">Executando essa string:<\/span><\/span><\/span><\/p>\n<p><span style=\"font-family: Arial, sans-serif; color: #000000;\"><span style=\"font-size: small;\"><b>ret, msg = sql.exec(bd , sql_str , &#8216;sql_func(%s,%s)&#8217; ); <\/b><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><i>*Note que a string ficou atribu\u00edda na vari\u00e1vel sql_str e passada como argumento na fun\u00e7\u00e3o sql.exec.<\/i><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>Dicas finais:<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>*Veja que \u00e9 simples executar um comando sqlite usando a fun\u00e7\u00e3o sql.exec();<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>*Aqui explanei o b\u00e1sico, mas voc\u00ea pode facilmente aprender novos comandos sqlite e executar.<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>*Voc\u00ea pode salvar os comandos sqlite em um texto e usar a fun\u00e7\u00e3o de leitura de arquivo para obter o conte\u00fado em uma string e execut\u00e1-la.<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>Qualquer d\u00favida:<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>Visite o site: linguagemprisma.br4.biz ou o f\u00f3rum (link no site)<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>At\u00e9 logo;<\/b><\/span><\/span><\/span><\/p>\n<p><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: small;\"><b>Att. Adalberto.<\/b><\/span><\/span><\/span><\/p>\n<p align=\"center\"><span style=\"color: #000000;\"><span style=\"font-family: Arial, sans-serif;\"><span style=\"font-size: 300%;\"><i><b>Fim<\/b><\/i><\/span><\/span><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJQAAABjCAYAAAB9qyl1AAAACXBIWXMAAAJRAAACUQEaDGSkAAAt\/0lEQVR4nO19C5wdRZnvV33OvGcymckkIWQIAQKYEB7yUEAkCesDWEVxZfGxIhjcq3vx58+71\/V9WVZlV11XfKyiK6AX7+4qPngJASEGRZCEICQQCEnIgwlhMsk8M89zTvf9vq\/qq67q02fmTGYyJJhv0unu6uru6qp\/\/79HVdfJRlEEh+WwTJZkX+kCHJZXlxwG1MRE4XKY4h05DCgtapT95LGkJAEVlUj\/s5A\/Z0ApZ3HToETaaJIEURrIopT0V528agE1c86HCAgzcZmHy1FBoI5SSrXiUqsUVOCalqxecz3wPq6zeGIFtnwmUCqPcBrB\/WFQagSPjWDeYQW4TWulcBtymBe36Zgaxjy9QRB0VlZm9+IF9s6c1dj16U++s2vZ0sUF8AH3qgTYIQ0oBE0GVyfjciYux+BylCwGPFWUDxsbF2UWfa5sp9KPpJuD3OrGG9arGAdJL1l2+\/uHOFvHnl644qpvR7jdg7udeGgvnkPrTlxvxvRncPuZXL6wsWPXzbmJ1cgrL4cUoBBAc3F1Ni6vNwsBqVaOx4BRgIzE+zod9L5Bipsu2\/758X5SSlnhkQc4d5\/XClfTcXs6nnxspHQ+PqQiXiOr5WfPXb4Jt5\/BfAwys2w6lIB2UAMKAXQ8rt6ByzmgATQ3LZ\/LPgQcavY0EOljUMxUesPuO7vuXTw2iyCdmaJ4g1ehAzQXZGEYAapUvg4lKxVhW0QLMX1hFKl3Ux6TP4f1sBrX9+NyHy6PI8AK5dTfKyEHHaCw8sjmuRyX9+By+mh5BUiajWLQCIh8lpJjvOOxT+AALEoBlEApyU6Rp\/pMXhdA+KdcoEX6DAKTUungUkoDCUHF6bhdgcsbMCst1+HShXX0IGiA3Y\/g2j52rU6dHBSAwgqajavLQIPoXBjFs0pTaxZQ9BfETETrIKYiCzZKilyWAp+xTKJ3zzTx7KckQ4FmJxdoFmQqBhflF3AJ0AyQ+L4COIexmnB5t1mo7p4HDa6fIrgeLlVvUyWvKKCwMt6Mq0\/icgEumbHy+4ykYsA4bOQykQoCCyheOYBSrkVO58D4wCQSq7jEPhi2ctJF7QUqBpdmJw0uYacgcEGkbHoCWCInmOUarE+yub6Py60Iru6x6vNAyCsCKHzw83D1JVyWlJO\/FJBUUtV5gFIaQCpmICV5IAaUVYngbHtRqDHCUC5owLGTIAYUgwCUUXsqBhfE4AojYaewCERUBEy2azHoU\/phT8LlW7h8Bev4p7j+PgLrj+XU8WTJlAIKH\/IsXH0Rl7eWk9+69gySwANSUq0RG9nwgAEU55E0KAaU0hv6Xq7as\/cfu4zU+HYbHOMcjFqzgBI7ytknxjGAMqjiMrtMJMBKrimPBldqKKsGlytpwTpfh+sbcbkFwTVUTr1PRKYEUPhQi3B1PWiPrSyxTBQUs5PPUkatOWzEeYIYRKL2NMActQcOaMTbg9E8vdLieXHmPwKbYCUVYKjaCFTETgHmLQQaVFml01ybyq4hMp4jm\/cah+Go8dFTcPkuLp\/Edvh7BNWvyn+q8csBBxQ+xJW4+h4u1eWeo4EUeKAaDUjipSm7bewqC8BAX1eBZaVUllJ+cCAtJlVquI8FDe\/4NlMqwKJQM0xGaYOdwaKYsdiuMuowTLITga4QGjYODJhSbaukUOD3l9geD+D64wisDeW2x3jkgAEKC16Jq2\/i8pFyz3FtIFoyBKokmEYDkgMoqfBA1JiTH1TMZtZA50xOiCBBT0m2SradBk4KoCBWaRZgvAQaMOZiuIs40YaSEubisEOE3ooBFqZoMgo0wIzHGNteY7IVyZtweQrb599x\/Y+TbbwfEEBhYVtx9XPQwcgxJdVWSgOSZ4yrIiCJSuNtAxzr5bkAFIMc\/O6YpNpTJqKdpvq8iIEOecdRKY+domKAhcZjI\/VMqo0NdTG6jZFvgBVQXgkzUDkSalDxmmAZmHKE5YCK2v3juLwP2+pjCKqfltNO5cikAwoLeD6ubsNlVjn5k6zkgsfaTLifoXyZBBM5QCI2MsRlr5m0n7z+vITaK2akse2ooug4xPu+ukuwkyLj20TRIx38jJhhzDNEoQWW7rjBf4iZUGlWK4QxK2khla5VqN4uSwWSUOf5f2GbHYug+uexMpcjkwooE+W+A5fp5eSXBs5kzNpRcTGwAh84zrYASWwj5eQRdSa2mHKB5oYLkoAaxY5Kih\/XTI85JfdtPAm0IS6GdmTsIWXUoQWW0mmhYaNQQg2hZiXQSlO\/UMZQp3MLhbgsYzUDLtebtrtmot06kwYo0\/P\/ExgHmJKM5G9rWynJSkEm8PcTQLIq0YYNNDySDOWrPR9gfjnjba3YnH2vrSKPsWLPrhhQSsXMZbtaCDBBrA4ZRGRYWbVGYAp1AbDJQ2JtiMzziJrTIAuN6hsHqEjI1j0S2\/G9CKqBck5Ik8lkqM\/i8sZyMhbZRWSAZwLDUi5oglRWitVcMZACFcej3L68NEDpQz576RRRNWUFomz+JCMJyJKAInUXBy2dAGYCWGwvkaqjsiNbUTxfwEW2VQEPZoyaU+AwllV94wbVJbisRFBdjKDqLOeEpEwKoLAANBrg\/5ST1wWTVXWZwAOYSrCTAEyzlu\/VZYLSQPK3i1VerOYSLGX+UzA2oDwWAgktgKWv2KvT3SgMHhMxjzuCi4FFqo2HtojKCw1bEVqsdg04X4a4S4n6C0D3DcYAGyeoyJGiMM\/l5WROymQx1C3lXCsJpqSqIxsKAp+lPFVoYksqzXBPYS0b5DQIsYyVYCmVGCely1o+oIqMcydcYNnKAVZg2Ul5TMVqSxl2QvbRhrg2yFltEytl2JrXnp9RgRS1Yos8YwBEm5kYYPsBqr9GkvhPZKk7ysnsyoQBhTemYRUnlpNXwgLZTGx8x6ouYEZyDXPZzng2lMtOQSqQ4liUr\/ZsTMsBUBqgYvt8PwAV+elJdoJQOoJDm+4GLgMxwCMd5FRhqNmKLSh86UyIglQgGBVYAKMOI4YWCKike8oF1Ti+w\/wutu0qBFVPuSeQTAZDvb\/8rOZhlH6DMgn1lnFspozx8JiVUgx28eAsmDLpQJKYlTcqIQVQEkoAcACVNNDjJ4ifyKo2iMMD4AAoigfRCQNxV4vKcH5y\/ZXSBMNsYyIBREB6U4OBo\/3CXhzgNKECN09I9npgQWXVH1404jrRT1FGnIrkSFy+hsvflpNZZDIAdWa5GXWnp+ZeTckOSzleXMaEAyiLhA0yQTorCcMl1Z7LRjYeJTaWigFkVR+AAygn2AnFTBU5sPLZKe4ETgLMG0TnDE3hG0U6OGnZiYavFGSclAaTqMWCCWLqG2iQCXiIqbg7MAh8psooiEMMErMqC1RXI0v9EFlqdbltPBmAOm48maki8\/kC0m8IFRUZqK7WdVqRyUI2m3FYBzwVx+kJu0qAIqrRA5LyASXXA5sOBlCjsxRvlwEon52KAeYNU9G5vKEpgY10ayOcO4FDJwJu2YlEs5HZtLaTBQ2pNgIvAytOt0Noyhd6cBr0ODWAQvRSh2\/zeM8Tu2JkJNLAQiBV1URQXRVBtiLLAGFwqVjNgQkpuKwkXiLlEaCkRdLTAZVgqQSgAEY3zAVUpQCVZCdRdWIbucCSTt\/YOI87f62x7qk3sHaV2bGgYtYjAjMqUj+OjqLTdfL5cLygohEi\/6vczBNlqLJHEKSJy1Y5XA8OBFBRmUXWqoTa6gqoxO2KCqP+MoENL6TZSV4w1AWUYSNrqxnQlNNRzCtVAlBiOzneWilACTvpUQXYoFQmMxZKgGXXMtacQMVGtXHxkuEA5TASlTOSl0RxJ3OBgRNy\/eZGCjCSy9txVuOUY5E46lHt7Ssn80QBVTXB81kEWLSMjORhaHAE9mUDBlQNgqsKwVVbU4ngyrKaJGBp9aisjWWN9FJAclkKpEvGiZgbOyoZOoASgBLAGMKA1EF0RsX57KTikQMmJBAa3ERmDWQzFZQGIID58CE0BrsGlg4l6AF5ygCoAJrx8zkNoOGh3ESA5Ar1y04JoConeH6RuOAawgrp7x+2cSsBWG1tFdTWVfGa1CWDK2MAYg34FLZS0h0DznYcr3K7YkjGZKfU7pUwDheAjh1xSCCKzAhNAxS7DrW774x9IuO8YDp4rdFeUKwWiX2ivI6GU34CD7H78HAOhobz+ELmmJFIbU4CkETIrHmhnIwHBUONJvTGsUrMAQNs374hAxY6qhBMAVRVVaCa1CwmYKupqYJKZLPKygpQFRpsoo4UD2QD20nLxBDGxrgMyPMYDJSXpq9nriXhp0h37IqFRZ5alInsqEzbTxe67KQDlZHSMSodL4oERzrwWcAXrKBZaBgBMzSEwEEADSP75AhEuGbTwVwfJgdEXjOUm\/GgB1RSuMLCgn1CAtogqsikqx+Ljr+QuqwimwwBRkCjfQ7MG+Pfdv\/QNqaJerSMpzTrsQPudVDHajUI4rCHjJSwkXphMxMDA9PuIakoCk6yrZPnl4bYJpfT6l\/AMmKOsVoN9UtGAIomj4VGk+FyMx50Km9\/Je6QLTrCHk4+P8INgvDzjO+0TuJAECABVC+GUOz3WbspJWQg8R66rqghCReYCxr7r5R6Bau6pgA4pWTKADXlDDUR8aLaRTHvqS6L3eL\/Cwfo43JyYojt0kS80zJkpNz7\/VkB6s9R6utr4OTFR8P69dugq7vfpk+bVgNnvPY4+N3DG1h9jiF\/firvsKRLV9c+ZqErr1gGW154GVb97hk4Zv4s+IsLToW+3gF49LGNBxWgDjPUISBrn9gCp50yH85+\/YmwbNkpUIme8cDACFTguqa6ytiWo8phQB2WWAYGhuGxNZvgHW8\/C6qrslBjgsRk7NfVVaEqHDNmOWU21CGp8j7xiTfDSScfyX2GmUwGPvWpn0PH7l7Po3q1CXmSFAAlQ7y6qpKZieTii06H237+iGdfJSTfsevmMXWiyEHDUOeffwI0NdfqAXhZ6bfTEXKKM7W1dcPOF7tg50td5Q69KClHtjbB0fNazJ6CWTOnQUZlYHBoBHrRrijlFR2qMg+f9fgFczi+RfEuqt\/amiqu21NPPhoap9XBPSvWwoZn29JeprLVHclBA6i\/ueJsNBZnjpnvoYeehx\/84CHo7RnChs+XY1AWScaJ+dCbW1dbDSMNBd6mSPw4AsMHvVB3VdP0Ou7CIrtpcDjPkfjqmgqoRPU3MlLg9GVLT4YZMxpgNarGhE1VtrojOWhUXmC6O0hK9aGRLF16IixadCR87rO\/hK7OAegfGBo3o2SygbfPfWhB4H258moRirA\/tW47rFu\/g7umGhvr4ENXXQDLliyG6bj9o\/+7Cn67aj3bWYPUmYz5E3JoMlSykUeTWbMa4JJLToO77lzHA\/BITdE4n3Ll3nvWwx8ffYG7SepqK7kySRVEE1SlB7PQi9KPz0nLv3\/vXli8aB60tDTA1q3taEaM+sXUIQqojA+oTZt2Q3f3AKcvOmkOGpIV3vE3v2Uh\/Pa3m7i7g22DwkjZ7LLi3qd5TVHk+rpqBhaBiTpe90eFjiV19ZVoB+bMsF4\/Ol2FaufoeTPgha0dRZ3CrlBZFy6aA\/OOmgEzWuqgFl+E9vZeeGlnFzz77MuoqofLdii6uvrh6zfcCTd8\/UOT6uGRHDyACnxA3X\/\/Btj4XDvkuJEL8L4PnA1Llpxo+9FoEF4zGvHU604jDOqx0Wi0Zxa9tmyFgu3b93IDnnTSkXDOucdDQ0MV\/OTWR6Gzsx\/OPudY3K\/mYS8Ui7nn109DvlCw\/Wwk8+e3wIUXLYZWNOBnttTDPrQzursGYNPz7ahCXoQtm3czAOQzqE\/+w4XMshV4\/yEs0zdveADOPOtouPTS0+GUU4\/iYSa33\/4k\/Nd\/PsZsWlUVoOp5Iyy54ERkySpWNXTs7rvWozeW530ZXbn86vPh0nedBlWVFZAm3T2DcON3V8Hq1Vt1hzIuYwFrzeOb4f\/99+9gz97esZpmShlq0myoIrumoCskh5W6G136O25\/ApagJ6g\/QdKwIq+Q3lJir8994WI47rh4fo4PXXkLvPOvTodL3n6qTfvtyo0I3AwsX\/5GmDu3yaavXrMdgUkD0vKwr38Q\/vry18EVV5zrsabck0BN8rWv3QdP\/mkHG7RD6B2+5S0n2bzdPQNw9tkL4NOfvZDHa5HQMJrLLz8L6tCO+RUC6+oPn4d5jrXn0BCcK686jwfX\/eHhzajGB63HOe\/oJg9MSRuzaXotfOazF8PX\/\/V+WL9uJ\/T09rMRPpY3\/MMfPsAv0hhyqKo8v5JkZhFa0\/CNZ555icf\/VCELybizxsZaPbY8qz9gEKG0t7x1MbwD7SwZp0RpjY01MDiQY\/Xh5p1WXwv56gL0BYPITDPgyivf4I1GSJNKLEdzcwOy4wgD3hUKGv7dNUs5D98e7IhiePOFJ\/EnY+ecc5xlEfceb3rTQnhi7YvM2MRqfYXBImDTILsko5NcdPHJsG3rXmToDNZbD4N9NKaioTFlyKGq8vxJgAuhjAzQamXukU0MJi26iXp69JwOOl7lV\/Al79DM5H4eRW8\/j13KJCYcVsqM+FRw6btf64wrV2hX5WHH9k50s7PoDEzjMVVcAv6QQJngqA+6+roqXnj0KearcO5H5\/\/lX57C231o91RWZjz7kFTs7COmwcu7elAt18DA4DCr8ccf3wZ33fUksmgI\/ftG2I56zcI58N73nmXPXYQ2VvOMelbrDfU1bFvm8xN2NA5VlZdgqIIYmHqI7utff0x80DT47nZtUJIhnRxPVGcadOdL3Wz7EPPkKW5F0WIHe2FinNHRR8+w22SH3fBvD\/L1SSVS4y5ceARc\/LZToK9viAfEEVukjWXqwnt+65sr+cVYfvW5bHi78uRTL8LNNz0C01FdfexjS9njEhyTbdj+ci+PQiXQfvOG38AuBBgFJFtmTOMyk2f2pz9th5MWz4GTF8811aL4enTvOnQ2OruofibsZLw6VB5VKgUulWqE93\/gdXD+kvhrd8o5iG8feYEEBmrYJENRQ99y8yOw7qmdDCLy4CjiToaum1PmGODr4nomspDIC2h4m0\/l8F790Ns3AA891IPLc\/pbwooKtm1USsTjDrST9u7t5xGZax\/fgd5Zs70Hya9+8SRfdw+qyw2ozs9fcoJR5QodjGpTJ5p5CUz8TPiSkX1GddPa2giVyGw72zotoEgaG\/W50tswCXKIqryEGvrQ8jfYbRkP55ozKx94zoy3Dpk5ggQgH3t0KxqoL7H91IPGLYEvz31ZkR0zzpcN4zeYrteN6mKWAdU5b1hA431hw\/qdMDg0xEHUeOZdfHWHtUdFY4tcCaMQXfl2BgcBeO9ef3qAl3Z1M4vQ\/cgjpO4kV2qq42bJmC94Tj21FT6IRvvxx8\/mIcylpK4h\/rJNPjObYLD2EFB5CoqG0WZKDIE12b0TCCCrVj7P2wPIOhTjySaM1NWrt\/OaGrSvb5C\/BtEfKIAHvkLoxn6A+wwFUDWoci5YdgIvBJJt2\/bA6j9ugzvvfAqN+2Ez3jssUtd9fcN6\/HdEMbIRBHM8PTg1bScylzQ0AZKMZ+95ZShyoG2+D155Hrzvfa\/zaqRUZ4LUo3wQOwlykKq8FBCJuDOkjCU70K659dbV3GDETD2oioh5gkTldezpA2q+kVyOj3MRzC0IAHK3qBDZY1SG23\/1BJxx+jwpspUMstpxx8zi5dzzjocbvn4\/qsBh6Orcx5\/Ru3n7eofsvUilkqq1EmnASX3omFSFe5hVm8iCBTPh8vfE00dIPdFLREZ3dbX+MDY+337K7H0Sxin7R1QHF6DKwUnSwyOhoRb0BpNBTG\/0jh2dsGVLB8doqBGoMol5qLEoH4UO5FYUahjo142Yz8kclHFBsggAKZj8\/Jg+OYInntgO3\/7WSvjwR85n7ysN6EfPa4aly14DK1du5BBEPp\/zHjSXj2M7xGykzuU6GjChZV2K0GedGJwC+ZkOvbPsgoVeiOCFF3bDHXesg21bO9l2vOjiRfC2t59m6zpywBglxs3vJ7gOjs7hsYEUZ0jaPyRf\/uIK9lKGh0Y4PKA\/F9JvPH8dmy8Y0Gmw0JxTclOOFJvKDKNiQIkDQHkK\/HMYZt5vw5T33LsOfvf75+G004+CM86YDyeffCS0zvW9NOoOWrXqeQ4DkGp0JTRxLx3\/Kg4rRHLc+4o5VlX2Sxks39zWeMpSOrZixbMMJvpWb29nH0f84w8uFD+vfKo\/GmakOsoA1ivPUKODyT9IebPZTMpx\/RbTV7A0pET6qfTEE2CM9FhVuiqvIJ6b\/TzKpf7IuvmkEgr2kyZnah9cqBOV2PCRP2xhhliwYBZ87V8vsxN1NDXX2akYK6t8hqUZi\/g3W0xBg8APTIYmhgXmXpmKRC9BGNlyzJ45zXsZOnb32Wch7\/W1Z87z7x3qeyr5EtXUZxRFqe1SBrCmFFBFcfvSYCoGki2E8wYbpvfceQskcJhG+dfIBDJnkmLa57mYYtLyYkViwMtHk3peA32\/Y46dCS9s2W2nDOKfz8B7U2d1J9pLs2Y12nKYqcugujK2ofS3eKFjVCtUi8nhMmBVGklFEIAbTxfWpfN7UK0fMafRTLoRwJlnzYMHfrORX8KPXrMMGutr7H0BpIfBvHEOSnzVXYyeUYA1pSpvt7uTDqbSQBLhKDXIC6WZxZK41LyKwIOdirypdlitiF2UiC0RMCKejCLiqLP0B8rZfNw04pevvxS2bO6A+3+zAQbQeN62Yw\/3xy1ddqLx\/jQadrf3sqrWGtVFd8Rqh8FoPnvX6hjsJ\/DEIgT4ApWBDgWBV0\/2Q1BcKMB54gmz7bO+7W2nwuvPPhYqEaTTGmv1bHj0dbScmwCrBQoDTO6h7Cf4Ra2likA1pQy1q7T35jR\/CdaSRs9WaCpxwwORM9TDmwvT5LFVaO7PLrIBBdsRZA9F8Q8RyWfg1M\/mvq1sIHNefQ9q\/NNfO48XMOopSOk3oz4zYoyI5yKI+8RkroPAAbR2GIwq4gnEQjN3qL5uRWUQPys4LwQeX3HvMzw8muvEgKWlpZ6vt3fvPnZUXve6Y+z9bcwpYUMpkBdVA8vxc1PaxQPVlAJqpUqdg3EUMLnAAFPhQca8MbGxHIK48jrFjuhUohZjJPPEY4a1wEzwlTEVKv1t8nsp3DEsbGE+Hc8Yo5znJSB7TsAAxeO0SF5Gdnrkka18fN\/AEGQrq60dxtekqXZo5r2QMcFhBQC5p1GzoBufgJdVmbja6ELOnAXPPfsS3LfiaXjrhYshnp5DcQzs5lsehXPP0RMIRibIRp5fSMNeZJ6qouof3Vh3282cX9Y0PiITAlRNTeV9Q0MjNADZcXNKg8mfe8kqOXab5Q22LEOut8wtESjD5VKd4DCaZh333oW8jqBHMkMcsZQxUEl9xcSvuM8w5CEcWs9u3PgyLF48V9tkKdT6zIadcPed63kcVt++Qeju6ofpzbUwZBqSiklOBM2KwmyAoKKhtS+2dfLsKXTN9vY+DsjypBfYai\/u7ILVa7ZyWejl2LWrG68xyMfo7zvfWQmbNrfDWWceAw2N1fDshl2w7qmXWO0OYL7Vj23hstD48ba2LujtG9KTjoUSf\/Oj5Uq5KrA0UxnZWupAmkwEUGrHCzf2zDpy+S1YGMNS4wFTvKYxOWuwQnUnr57JhPrOCBhDgzlITl9oz7UkFcGPf\/wIVyABYWiowH1eVGnUqcs2kgEivdmf+tQvDDMpniano6OP65MGtl3\/pV\/zAP6FC+fAEUdMh+lNdew0kHf18ss9sH0HAiOnp9Wh0AXZMDTY7oPvv4nvx1\/r2K4dPdrgDw9vgocf3sRNVuGENzjOhtf49d1Pwd13PcX5CfA2NGnsaqqP++\/bAPeveMa+QJlAM83L7V0cl6O6i19MHbrQAAb7kspcVrqljAq0OIpfcLcN8fjmcWBi4pO2VlVVfHp4eOTtePs5bkH8grm2j3LyaIDs3dMP\/3jtnZxOHpE20s0Dh8Z4tJPWQwwwEJspgjvv+BNfNGNmChY7OYwSU0nj3\/Zte\/jeMjOwXIdBho1CoYp1T7XxYDUnXKTz8FxP5g1XsUqUkREk\/Nt1OlXbcZnAMkRB+g5t2yqwDioAA1yuF0k9GXswMi2cy+VgxJRBmWmr6RCfK2WLHL\/R2mcCogRbldaBmzp23TwlgLKQeXHrjd2z5y6\/Bgv1Cymgl9EDk6TpBOvAQWx0U7dDiExjAaCUjTH5+R1gKmOiGwYLo9ge49npMg4jikEfF8thz3hqn+K31VwjECsksHmkQVwGkA5td4Y7ySuz\/drzImX2lZ0ZJpJLOT96reReNhSn5K7gWaaCJLMWD9Yd0Od1GCtX\/Xmm\/I9TK2MUmZSf5mjfedOvEFS346O901d7CTA5npzbkMoAx+ZRKWBLsFPavE7x+aZ6g5jaAxeAEJcDEuVwC1xsQfliG1+vwO5F\/nH5bRcXZPKFjQegSI4bkEVmtl9l2lxsSjupvnZleG5y8+sLPHm09Y71dZRMGlsCVL6hbvGzFx2Ym8aogiIZN6BM8YrSq6srr0EDfQluNiVbImaLhP2k9O8ogQMQCwQXfEolgOSADMDbj4EEqfn0Wrb9zlP3BXBWFsgkaYCho+4vUbnHqEEDky7HQqPLIsnvsJBMXiaqiJ0JCxTDcNZbAZ5W0eVL\/btUkWWz0UDlck9S9WG+5Tu3\/6AdinKOLuMFVCqYSLZv+d6uecf\/j6XDA4W78e5HmULZwtpiSeOkgUk5dpKj2oqB5APC\/gK6Ks4v9\/fB56SbDavq0phJJXacKohZSlnG0EwTGVXmgEBUl\/HemIGElbxFGj3+YesgctWUUJZyZ5YGKQnnVVK+mKn0Oe6TKEhtTwXfRa1z55j5UmSyfo2Ki79j0\/efXnzaJ87bs6fvLtA\/7+7lsJ0VRWBStnGtqpN0UPZHFovyu7\/jApACPJUAkrlH4LPTxFWeKjKGBTwkYQoLSV5lmMvMjW\/B5AKsqC2FL8Qw57CKLovgPTbWXXCaY0kbypdnGuZm\/\/cYj15SJu0HGFetWgVLly6Fp5\/8xs63XvylJeuf3n4blvlNrs2SruZ81kkCJwA\/PUgDVpoqdBkuKGY7LpVBcExOSSAldR\/E1rbdFBYS1SfAUtZTy9Au\/ySZMgByZg42EvhXdW7qGckmyVFZom4NUylj4IdK1F4JQzxd+tFueu8Vq+cOuYnlshNJ2YAqZTtZWRpv3nfP5\/uuve6nl9x0y8ob0YW+Qkew9YNaCnesEosKfaMYTCUYx99PpqeDDBicMRgFOF48S8Al6ekV4TGAbj8xVviAOQaxZqLtQNtDMWjSrl8qvdTxKHFIVJMJM4wDCChbEEyXot309HhOSsqkMdRSF1Eo1117eQ6Xq4858e8eGhnKfxmTjpBjyqEBZf8gZgmWZOU5bJEKJkgsKarPslYxqATocjzWK3GZbGN5ZXLLmbbtpJlNw2WJ50uK6z3GZRm\/uKiWbcen0w+7oqVl2vuvffKc7v28iZVJ\/VX0NHlk4xd+8vm\/vf2OlSvXfyaXz38Mm4MH5ZkXyhPPG7Tbju3jNIDb9xf7OYkrFV0fIGZLLzW+FyTPccAfOcapMs62\/FAibyr7cxpeO9pz4pXEnkYDSnzvGBBRyc+iikEnxrRrVNtceiMKAvXPn\/nUu6792P+8aFImdZg8Gwr\/kizV1tYGmdYM3PSDj\/btgT2fe\/dffPtH23bs\/lpYiC5UlmooZ6m3XLoL4nyB+Ql6e77Jl7xGZGi\/CLWjskK6UjG\/5+M0lzIeXZzJGuJumgWUAx6LIbfx\/W1jsttQQ2RPc1kPoAhEkb8RJdaJO3VXVGWufnHL929PFGBCUjagRtPHBKaEcGu3trbqU3G7BVrglw9+fHMAwbuWnfXlC7u7+7+ClXU8yI8QglthcpFioMWdmmmuj1\/i0d7Z5BHfFNZMoOQ1LnriyHpYHpAEeB4QTF7Xw\/O2oWi7mLiSgIsBZsEnWxa3xeA2G\/symcy3j5k\/699+v+qLXWthLZyBfyS34d9l+DcRmQyGUg4zqQ2wASrxL2v+WqHVa+np+Ldqzefvy+0J7r\/oHV96U3dn\/\/J8PrwIT3U+RpI3y21SB1hGn7l85DeAPiI9aoHRiGI767gM2BCFvbqQoQQnUx838ba7oLHgMccToHKn20kHVjKteD9MOcYFsT+dZzjRepmWIweDTHDj0fNmfPXhh67voDQDJs5gwFSKNcpmsAkDKoHqaBEsKuLk9vZ2NXv2bGiG5qgLulQTNEW9Lb2w5g9feWAf7HvwE9fcOuexP2y+YnBw+EqskFZpZTo5dGBlL2mGsoQqBoX7WZ83KA+XAq35VzMjbecoic84GtGOCFUQjwYtoVrsffj\/YmBJehIwpdjKnC+fxcsHGcJ8MgRa2NDRgQD22j67xcCCkSAb3DR\/3qx\/+d1v\/2mX+yACJpJRwDQuGU\/YwCP\/6\/DvWvwzBfFYqIilZseqD8EUIqgCBhX0wjT8+8Z3PrCrHuq\/2ta29+vv+cA33rJ3T99VuVzhzVgpmSIzWViEl3gwf4FCEY6XF+cz4LFgMs8jAHLS+CnFYJJntYa08\/yu2eKBygDABBl9EEGCneJ9+aUqq6rGYi6ImclVmeAykoJnK7KZn82bN\/PWVQ9e92IbtEXbYBvk8W8E\/\/DFT21naddS7T6WjMeG8oDj3jSZNY2l3DVdyzKVARVJa+uMwn13f2aFqlMrvvAPP5v96KOblvXuG7ggN1JYhm\/oLAsi19uLYtDwBx8mxmV\/HlWJp6hvbwOtFljKWYdx\/EkMfzcYKHGeKL63PFpxH168TgKJJIxctipmpCSQ3GtZoIZgwWW6WLZWVVTcNmtm4213\/v4T66OOCGbOnMmXRNNDCpt4Y3wtk2zXyKuAsWWyvDwPbI6hlwqqZv0zxQQqM9JHX6MP+oKGuoaoH\/rVP331svY6qPvvQRj8Wb4P1FUf\/c7JO7bsXTYwOLwsny+cjRVYFYNEmEUDJXJiTrE6dMEU11Fat4sfcnAZ0p0HwX10327y13G6C6g0oPBemACVqybN7VwAYvFeqqzI\/qKppfa2++769ONNTU1cyHZoj8K89MfohTQHSZKdRN0l2Wl\/ZDLjUBZURje77hmY\/WgX7FLo6UWzYTarP8nX09OjVKMKEVSqARr4PAIWAipsaWiBn\/\/kk+sGBwfXqxr1rXvvebLm+9998NyOPT1LRobziwuF8MRCIZpj2Uv5TKTHp\/sgs6ZTEaDAqsjiqJR5oMh\/PPcddhve5rWqzM\/vgip0GCoGkKMu9XZBBQpVWXZNdVXFmpbZ9av\/49YPP3fczNbQ3DHqgA4I28MIbdYI9JDHaDNshgX4Z4CUZBy7P1EwkYwXUEX2kitCnSYmVQQq1OFqPsxPo9CosbFRAksRakHVp\/oC1aCiaqgGBBblCetq6mitLr347AFcHhgaGnqQz6kG+NEtDzX+5r51J3Z09L5mYGDkNSMj+dcU8gUC2hHCZHyyAyre99DlpIEEBKVUkZfJBhgdBRJ7e5LmG+zeIDuIrxkl8gmIsKwvo4v\/eFVldk1jY+2aCy859YmP\/\/2F+\/CFi3qgR1+xK4LOzs6oubmZATUTZgLM9tRaRGBy28Gt95S2KOdYSdkfhvJARTRJ4qF7lV6tXbqW16T+NuuhybZVkKl4Yw7Mce0rPtY9rZtG8ISmU0YZczpCj1DF4UplTB6laqAGPnLVW7tweQyPPTYEQxYit9y0qnHlb54+oadvYBayWRPaY035QqEpLERNhTDkdRiF09FGa0Zjejo2kZ2bR4z2mG7ikha1jENTrjosAk+8ncOiI12rndkg05bJBDuzFZkXa6srdzY21rUtPumotq\/+ywf2OnXOJ3VDd7StextMmz4tok8iWpr4FyEiVHGIo9lusVx7CWB8YNpvmbDKIyAJqEgXI0upy5ZqA89xSxV6FpGhXG6SOYaPSQUaULHsgT0RBUFNPs6LbyMDyBjvnL6Pvu6hKTb7NXZIPYr1owYRZDU1gOoSrly+pOuq9y99jFgM2U6r16EeVVVdRfswDMP6AvT1WRXAn57YWvnccy9V7W3vr+rpGajo7e2vGhzMVQ4P5yoGR0aqcrl8RW4kX5UvhJWoaivRG61EMFYYDZtDdY5qCdcqyKsMgyaPBctng2wOMpCvzGRH5s1r6fjMtZe0N0yrYYsJbUV6WQA9XV5TGrEQFBvQUdgZQn1YH9GP5CIb2XQEk1ShqLiJgGm\/wTYpNpTLTk48w1WNETYu76NhGLlGIQELXVowXggUnK\/bBVyN0KjIK5RrMcB6EWDTpkFfHSrHPrS7GhqkUQAJSxk1qbCxYKB6ALFXy\/tUjsbqRgYbSTiIREicVEWn1cBpi+YPnnb6\/MHRnpeASCLXwPMi3h6kT8s0kCltAPi+0cDAAES1sWVFAKK1LS+mE5jI4yUw4fPycXxmIE+YjmNdANUFqbb2dmYjPs+pOwuuBRsWgFPFSW\/ugIGJZH8BNaotlZZH2CoJrM2b8W1asMDaVzmIf2fEMBV0dHSw+yuViqBTzdPYU1SF7kI0ffp0IJBhQ4CEIeh3x8m4d4x82Ldvn6qvr2ebjIBGEtbon0O3++EYfaQ0T2yt3gzJjurnkyPeNqeal0Kn0X5tgRkHy8JrKaPkQzXGPQiFrgKgl+YBiIxsYqJCewEMCZHBbYuD6r2YkRZpUMgYNTqHNccYYBpvzClNJsJQ5YIKIAVYov4QTOzO4n6E4KL9oouYWAr3B4qtgBWtqKLzef0ZOIGJ8lBDSYyruxsbarqeDqett00Ro5EQ2EzjMpAIdLJfW1s7+hPhYcrLgitiRnNNARQDqbe3lxmUjGdhHAQ\/9T1ZIMmawESCYLJ1JgCiQCSl0adTiTrldSmD24DJppUJpgnbVRNVeeWASvJBSt5S4OJj+OYpp8JYxFYgMLH91aJtMdcoxUbg+xCY5E2vzdcq0zj2uACOGlYatRwRxutuIG7R7MJpDY6aMnO\/FjoRGM36OQX8eNyyrntdclTEnhQADeupBaKh1iG3Hr36S5HIMBPLGPElCWaM+dzlyGTYUKXAMlretPwWXGthrSLPMM2wdEHmeIgMNLEnxFg1Bj\/nzTXnrOFKDUrSketQG\/dshOaW5nKflYVAKiJqWUQYRfYdZoGWlhZ7DMGUfHbPORka0gBCM4D3R3H9WdLso+uuQyBde+2YYJpMmezAJkk5wHLzF53jdlqKlACZdx0nXMAy7Ewc4nhBPE6L7NjWma06bjO6FD0PgciwSfI59D3x8m2tGtyuvUN9aSYOZ18Ex\/7xrkOq3x0NkDbezD0nbdgJgamEHJCQAcmBGLEpX4GN6xzZuO02NB4vK66cvlV9UXF9ItDWItDO0ON5kmBDLyu1EGacFjkEil78pFotVTZXjBcJSYOYPa5WC+5owwZU4YsWSXnicsPaiMBCzkSpe8g4JRIDptR84+gyOWBAEjkgQ4CjZFi5DLGjFy5LNx7R5ki9FoLJ5k++xaV61C3bLShiu7JFQEhrYhIui8OsAjIBk1set5xJNi7TtfdkNDCZr10OOJBEDvSY8uSDlARYqUoZC2iuUCMZ93jUfGkqdSLiMsloguzLz5GiuqxMdMSkkThWP3VYYjngHykkJO3pRmWx8XZYTtZAsQMhpMono0ffkYPuWacaUGkyWqWUrTIPFRkPmKZaXU2GHAyAGk32qzL3wyk4YDKRgOEhhiWWgx1Q+yWTEfGdLDlYgD1V8qoE1GF55eT\/A7wxF6DKa\/cAAAAAAElFTkSuQmCC\" alt=\"\" width=\"176\" height=\"117\" name=\"Imagem4\" align=\"left\" border=\"0\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>TUTORIAL SQLITE3 PRISMA Por Adalberto &nbsp; Link para a lista de fun\u00e7\u00f5es sqlite3 Prisma. &nbsp; Nota: Problemas no Win resolvidos, releia a parte 4,\u00a0exemplo\u00a0j\u00e1 modificado. Eu, pessoalmente recomendo muito o Linux, especialmente o Ubuntu. Pode acreditar, vai evitar tremendas dores de cabe\u00e7a, inclusive se for correr um servidor nele. Requisitos m\u00ednimos: instala\u00e7\u00e3o completa prisma-1.0 mais&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"tpl-full-width.php","meta":{"footnotes":""},"class_list":["post-2407","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/pages\/2407","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/comments?post=2407"}],"version-history":[{"count":24,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/pages\/2407\/revisions"}],"predecessor-version":[{"id":2486,"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/pages\/2407\/revisions\/2486"}],"wp:attachment":[{"href":"https:\/\/linguagemprisma.br4.biz\/blog\/wp-json\/wp\/v2\/media?parent=2407"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}