[YAWOONG.COM] ¾ß¿õ´åÄÄ - Ç÷¡½Ã °­Á (Macromedia FLASH, FLASH MX, FLASH MX 2004 / 3D, »ç¿îµå, Æ÷Åä¼¥, ÀÏ·¯½ºÆ®...)
¾ß¿õ´åÄÄ [¾È³»] Æ÷ÀÎÆ® ¾î¶»°Ô Àû¸³ÇÏ°í ¾îµð¿¡ »ç¿ëÇÒ±î? °¶·¯¸® | ½ºÅ͵ð | Ä¿¹Â´ÏƼ | ´Ù¿î·Îµå | ÇöóÀÚ | µµ¼­Áö¿ø | µû¶æÄ¿ÇÇ

 
·Î±×ÀΠ     |
¾ÆÀ̵ð
ºñ¹Ð¹øÈ£
°Ô½ÃÆÇ ¸®½ºÆ®
· [³×ƼÁð] ¿­¸°°­Á (631)
· [±âÁØ] ¾×¼Ç½ºÅ©¸³Æ®3 (166)

°­Á¿¡ ´ëÇÑ Áú¹®Àº ÂÊÁö·Î ¿Ã·ÁÁֽñ⠹ٶø´Ï´Ù.
¤ý¼º¸í : ±è±âÁØ (kj1228@hanmail.net)
¤ý¼Ò°³ : úÞ ÇÁ¸®·£¼­
¤ýÀλ縻 : Flash CS3 - ¾×¼Ç½ºÅ©¸³Æ®3.0 ¿ÏÀüºÐ¼®, Ç÷º½º3.0, ¿¡¾î



  Lesson Title :   SQLite(µ¥ÀÌÅͺ£À̽º)¸¦ »ç¿ëÇÑ °£´ÜÇÑ AIR ¿¹Á¦
   SQLiteExample.air (319.7 KB) / Download : 197?


»ç¿ëÇϱ⿡´Â ±×·¸Áö¸¶´Â SQLite¸¦ ÀÌÇØÇϱ⿡ ÁÁÀº ¿¹Á¦À̱⿡ 

ÀÎÅͳݿ¡ ÀÖ´Â °ÍÀ» Á¶±Ý °íÃļ­ ¿Ã·È½À´Ï´Ù.

  

À̰ÍÀ» ½ÇÇàÇϸé, ¹ÙÅÁÈ­¸é¿¡ µ¥ÀÌÅͺ£À̽º ÆÄÀÏ Employee.dbÀÌ »ý¼ºµÇ°í,

º¸±â, »ðÀÔ, ¼öÁ¤, »èÁ¦°¡ µÇ´Â ÄÚµùÀÔ´Ï´Ù.

  

»ðÀÔÀº ÇѰ¡Áö¸¸ µÇ°Ô µÇ¾î ÀÖ°í,

¼öÁ¤Àº ±× ÀÚ¸®¿¡¼­ ¼öÁ¤ÇÏ°í ¼öÁ¤ º¸ÅÏÀ» ´©¸£¸é µË´Ï´Ù.

 

Â÷ºÐÈ÷ ÀÌÇØ¸¸ Çϸé, ¸¹Àº µµ¿òÀÌ µÉ °ÍÀÔ´Ï´Ù.

³¡À¸·Î ¹èÆ÷ÆÄÀÏÀ» ¸¸µé¾î ½ÇÇàÇÏ¿© º¸½Ê½Ã¿À.

¹èÆ÷ÆÄÀÏ SQLiteExample.air¸¦ ÷ºÎÆÄÀÏ·Î ¿Ã·È½À´Ï´Ù.

 

<?xml version="1.0" encoding="utf-8"?>

<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"

       applicationComplete="init()" layout="absolute">

       <mx:Script>

            <![CDATA[

           

 import mx.controls.List;

 import mx.controls.TextInput;

 import mx.events.DataGridEvent;

 import mx.collections.ArrayCollection; 

 import mx.utils.ArrayUtil;

 import mx.controls.Alert;

 import flash.data.SQLConnection;

 import flash.data.SQLResult;

 import flash.data.SQLStatement; 

 import flash.events.SQLErrorEvent;

 import flash.events.SQLEvent;

 import mx.events.ListEvent;

 import flash.filesystem.File;

 

 [Bindable]

 private var resultData:Array;

 

 private var conn:SQLConnection = new SQLConnection();

 private var selectStmt:SQLStatement =  new SQLStatement();

 

 // ¹ÙÅÁÈ­¸é¿¡ µ¥ÀÌÅͺ£À̽º ÀÖ´ÂÁö È®ÀÎÇϰí, ¾øÀ̸頻õ Å×ÀÌºí ¸¸µé±â

 private function connectDB():void{

       var dbFile:File = File.desktopDirectory.resolvePath("Employee.db");

       if(dbFile.exists) {

             conn.addEventListener(SQLEvent.OPEN, openHandler);

             conn.open(dbFile);

       }

       else {

             conn.addEventListener(SQLEvent.OPEN, newDatabaseHandler);

             conn.open(dbFile);

       }

 }

 

 private function openHandler(event:SQLEvent):void{

       selectData();

    situation.text = "µ¥ÀÌÅͺ£À̽º°¡ À̹̠¿­·¯ ÀÖ½À´Ï´Ù";

 }

 

// µ¥ÀÌÅÍ °¡Á®¿À±â

 private function selectData():void{

       selectStmt.sqlConnection = conn;

       var sql:String = "SELECT * FROM employees";

       selectStmt.text = sql;

       selectStmt.addEventListener(SQLEvent.RESULT, selectHandler);

       selectStmt.addEventListener(SQLErrorEvent.ERROR, errorHandler);

    selectStmt.execute();

 }

 

 private function selectHandler(event:SQLEvent):void{

       resultData = selectStmt.getResult().data;

 }

  

// »õ Å×ÀÌºí »ý¼ºÇϱâ

 private function newDatabaseHandler(event:SQLEvent):void{

       createTable();

       situation.text = "Table created";

 }

 

 private function createTable():void{

       var createStmt:SQLStatement =  new SQLStatement();

    createStmt.sqlConnection = conn;

    var sql:String =

    "CREATE TABLE IF NOT EXISTS employees (" +

    "empId INTEGER PRIMARY KEY AUTOINCREMENT, " +

    "firstName TEXT, " +

    "lastName TEXT, " +

    "salary NUMERIC CHECK (salary > 0)" +

    ")";

    createStmt.text = sql;

    createStmt.addEventListener(SQLEvent.RESULT, createTableResult);

    createStmt.addEventListener(SQLErrorEvent.ERROR, errorHandler);

    createStmt.execute();

 }

  

 private function createTableResult(event:SQLEvent):void{

       situation.text = "Employees Å×À̺íÀÌ »ý¼º µÇ¾ú½À´Ï´Ù ";

 }

 

//µ¥ÀÌÅÍ »ðÀÔ 

private function insertData():void{

       var insertStmt:SQLStatement =  new SQLStatement();

    insertStmt.sqlConnection = conn;

    var sql:String = "INSERT INTO employees " +

    "(firstName, lastName, salary) VALUES ('Eric', 'Moon', 80000)";  

    insertStmt.text = sql;

 

    insertStmt.addEventListener(SQLEvent.RESULT, insertHandler);

    insertStmt.addEventListener(SQLErrorEvent.ERROR, errorHandler);

    insertStmt.execute();

 }

 

 private function insertHandler(event:SQLEvent):void{      

       situation.text = "»ðÀÔ µÇ¾ú½À´Ï´Ù";

    selectData();

 }

 

// µ¥ÀÌÅÍ »èÁ¦

 private function deleteData():void{

       if (resultAC.length >0)

       var empid:int = dg.selectedItem.empId;

    

    var deleteStmt:SQLStatement =  new SQLStatement();

    deleteStmt.sqlConnection = conn;

 

    var sql:String = "DELETE FROM employees WHERE empID="+empid;  

    deleteStmt.text = sql;

 

    deleteStmt.addEventListener(SQLEvent.RESULT, deleteHandler);

    deleteStmt.addEventListener(SQLErrorEvent.ERROR, errorHandler);

    deleteStmt.execute();

    resultAC.removeItemAt(empid);

 }

 

 private function deleteHandler(event:SQLEvent):void{

       situation.text = "»èÁ¦ µÇ¾ú½À´Ï´Ù";

    selectData();

 }

 

 // ¿¡·¯ Ã³¸®

private function errorHandler(event:SQLErrorEvent):void{

       var errMessage:String;

    //errMessage = event.error.message  ;

    situation.text += errMessage;

 }

 

 private function init():void{

    stage.displayState = StageDisplayState.NORMAL;

    connectDB();

 }

 

// µ¥ÀÌÅÍ ¾÷µ¥ÀÌÆ®   

 private function updateData():void{

    var updateStmt:SQLStatement =  new SQLStatement();

    updateStmt.sqlConnection = conn;

 

    var sql:String = "UPDATE employees " +

    "SET firstName = '" +  dg.selectedItem.firstName + "', " +

    "lastName = '" + dg.selectedItem.lastName + "', " +

    "salary = '" + dg.selectedItem.salary + "' " +

    "WHERE empID="+ dg.selectedItem.empId;  

 

    updateStmt.text = sql;

 

    updateStmt.addEventListener(SQLEvent.RESULT, updateHandler);

    updateStmt.addEventListener(SQLErrorEvent.ERROR, errorHandler);

    updateStmt.execute();

 }

 

 private function updateHandler(event:SQLEvent):void{

       situation.text = "¼öÁ¤ µÇ¾ú½À´Ï´Ù";

    selectData();

 }

            ]]>

       </mx:Script>

      

    <mx:ArrayCollection id="resultAC" source ="{ArrayUtil.toArray(resultData)}" />

   

       <mx:Panel x="10" y="10" width="517" height="428" layout="absolute"

            title="SQLite ¿¹Á¦" fontSize="11">

            <mx:DataGrid x="10" y="10" editable="true" id="dg"

                 dataProvider="{resultAC}">

                  <mx:columns>

                        <mx:DataGridColumn headerText="¹øÈ£" dataField="empId"/>

              <mx:DataGridColumn headerText="¼º" dataField="lastName"/>

              <mx:DataGridColumn headerText="À̸§" dataField="firstName"/>

              <mx:DataGridColumn headerText="ºÀ±Þ" dataField="salary"/>

                  </mx:columns>

            </mx:DataGrid>

            <mx:Button x="10" y="210" label="Å×À̺í»ý¼º" click="createTable()"/>

            <mx:Button x="104" y="210" label="º¸±â" click="selectData()"/>

            <mx:Button x="162" y="210" label="»ðÀÔ" click="insertData()"/>

            <mx:Button x="220" y="210" label="¼öÁ¤" click="updateData()"/>

            <mx:Button x="278" y="210" label="»èÁ¦" click="deleteData()"/>

            <mx:TextArea x="10" y="248" width="414" fontSize="14" color="#F80421"

                  text="Çö»óȲ" height="25" id="situation"/>

       </mx:Panel>

      

</mx:WindowedApplication>

 







Ȳ¼®¿µ
[2008/11/19]
ÁÁÀºÁ¤º¸ °¨»çÇÕ´Ï´Ù ^^!
¹ÚÀ缺
[2009/01/18]
°¨»çÇÕ´Ï´Ù...
ÃßõÁ¡¼ö +1  +2  +3  +4  +5  +6  +7  +8  +9  +10



¾ß¿õ´åÄÄ¿¡¼­ Á¦°øµÇ´Â ¸ðµç ÄÁÅÙÃ÷ÀÇ ÀúÀÛ±ÇÀº ¾ß¿õ´åÄİú Á¦ÀÛÀÚ¿¡°Ô ÀÖ½À´Ï´Ù.
ÀÌ¿¡ ´ëÇÑ ¸ðµç ºÒ¹ýÀûÀÎ »ç¿ë(»çÀÌÆ® ¶Ç´Â ÃâÆÇ µî)Àº ±¹Á¦ ÀúÀ۱ǹý¿¡ ÀÇÇÏ¿© ¹ý¿¡ ÀúÃ˵ÊÀ» ¾Ë·Áµå¸³´Ï´Ù.
Àüüº¸±â - ÀÌ¿ë¾à°ü - ¼­ºñ½º ÀÌ¿ëÁ¦ÇÑ - °³ÀÎÁ¤º¸º¸È£Á¤Ã¥ - À̸ÞÀÏ ¹«´Ü¼öÁý °ÅºÎ - ±¤°í¹®ÀÇ - Á¦ÈÞ¹®ÀÇ - °í°´¼¾ÅÍ
Copyright ¨Ï 1999-2010 YAWOONG.COM. All Rights Reserved.