°­ÁÂ

 ·Î±×ÀÎ  È¸¿ø°¡ÀÔ Category : Category

[À¥¼­¹ö¿ÍÀÇ ¸¸³² #4] µ¥ÀÌÅ͸¦ RecordSet À¸·Î ¹Þ±â - ·¹ÄÚµå¼Â¿¡ ³Ö±â
vidkid  2004-04-22 11:48:32, Á¶È¸ : 2,640, Ãßõ : 324
- Download #1 : http3.zip (3.2 KB), Download : 72

[À¥¼­¹ö¿ÍÀÇ ¸¸³² #4] µ¥ÀÌÅ͸¦ RecordSet À¸·Î ¹Þ±â - ·¹ÄÚµå¼Â¿¡ ³Ö±â

¾È³çÇϼ¼¿ä. vidkid ÀÔ´Ï´Ù.
À̹ø °­Á´ ¼­¹ö·ÎºÎÅÍ Å×À̺íÇüÅÂÀÇ µ¥ÀÌÅ͸¦ ¹Þ¾Æ ·¹ÄÚµå¼Â¿¡ ³Ö¾îº¸°Ú½À´Ï´Ù.
(* ÇÁ·ÎÁ§Æ® ÆÄÀÏÀº ÷ºÎ ÆÄÀÏÀ» ÀÌ¿ëÇØ ÁÖ¼¼¿ä.)

(start1.curl)
-------------------------------------------------------------------------------------------
{curl 3.0 applet}
{curl-file-attributes character-encoding = "euc-kr"}
{applet manifest = "manifest.mcurl"}

{include "httplib.scurl"}

{value
    
    {HBox
        {CommandButton label="GET",
            {on Action do            
                let (result :String, error? : bool) =
                    {gfGetMethod
                        {url "http://localhost/study/http3/start1.php?mode=list&no=7"},
                        {get-character-encoding-by-name "euc-kr"}                            
                    }
                {popup-message result}
                
            }
        }
        
    }
}
-------------------------------------------------------------------------------------------

Àú¹ø °­ÁÂÀÇ ¼Ò½º¿¡¼­ GET ¹æ½Ä ¹öư¸¸ ³Ö¾ú½À´Ï´Ù.
³»¿ëÀº ¼Ò½º ³»¿ë ¼³¸íÀº »ý·«Çϱ¸¿ä..

start1.php ³»¿ëÀ» »ìÆìº¸°Ú½À´Ï´Ù.


(start1.php)
-------------------------------------------------------------------------------------------
<?
echo
"mno,mname,mage,mzipcode,rate
int,String,int,String,double
1,È«±æµ¿,100,111-200,4.1
2,°­º´Ã¶°ú»ïűâÇ®,30,222-121,8.1
3,°­È£µ¿,74,123-229,1.1
4,¼­ÅÂÁö,24,123-621,11.3
5,¾ÆÀ̵é,11,143-527,12.1
6,ÄÚÄÚ·ç,33,153-021,8.2
7,°«½´º§,37,173-921,7.3
8,¾ÆÅè,14,128-121,1.17
9,¶ÊÀÌ,24,923-261,1.6
10,űǺêÀÌ,34,426-331,4.1";
?>
------------------------------------------------------------------------------------------

¼Ò½º Á¤·ÄÀ» ÀϺη¯ ¾ÈÇß½À´Ï´Ù. ¾µµ¥¾ø´Â °ø¹éÀ» ¾ø¾Ù·Á±¸¿ä..

echo ÇÔ¼ö·Î ÀÓÀÇ·Î ¸¸µç µ¥ÀÌÅ͸¦ Ŭ¶óÀÌ¾ðÆ®¿¡ Àü´ÞÇÏ´Â php ½ºÅ©¸³Æ®ÀÔ´Ï´Ù.

¿ì¼± ±âº»ÀûÀÎ Àü´Þ¹æ½ÄÀ» Á¤ÀÇÇß½À´Ï´Ù.

--------------------------------------------
ùÁÙ¿¡´Â Çʵå¸íÀ» , ·Î ³ª¿­Çϰí
µÎ¹øÀç ÁÙÀº ÇʵåÀÇ Å¸ÀÔÀ» , ·Î ³ª¿­ÇÕ´Ï´Ù.
¼¼¹øÂ° ÁÙºÎÅÍ´Â °¢ ÇʵåÀÇ µ¥ÀÌÅÍ ÀÔ´Ï´Ù.
--------------------------------------------

²À ÀÌ·¸°Ô ÇØ¾ßµÈ´Â°Ç ¾Æ´Ï±¸ °¡Àå ½¬¿î¹æ¹ýÀ» ÅÃÇÑ°Å´Ï ½ÇÁ¦ ÇÁ·ÎÁ§Æ®¿¡¼­´Â
È¿À²ÀûÀ¸·Î.. Àß.. Á¤ÀÇÇØ¼­ »ç¿ëÇϼ¼¿ä.

(Âü°í·Î ´ÙÀ½°­Á¿¡¼­´Â XML ÇüÅ·ΠÁ¤ÀÇÇØ¼­ ¾²´Â ¹æ¹ýÀ» ´Ù·ïº¸ÁÒ.)


½ÇÇà °á°ú¸¦ Çѹø º¼±î¿ä?


http://localhost/study/http3/start1.curl

¶Ç´Â

C:\APM_Setup\htdocs\study\http3\start1.curl

ÀÌ·¸°Ô ½ÇÇàÇϸé



À§ÀÇ È­¸é°ú °°Àº °á°ú°¡ ³ª¿É´Ï´Ù.
php ¿¡¼­ Àü´ÞÇÑ µ¥ÀÌÅͰ¡ String À¸·Î ÇÑÁٷΠǥ½ÃµÇ¾î ³ª¿Ô½À´Ï´Ù.

À̹ø¿¡´Â Àü´Þ¹ÞÀº µ¥ÀÌÅ͸¦ RecordSet ¿¡ ³Ö´Â ¹æ¹ýÀ» ¹è¿öº¸ÁÒ.

(start2.curl)
-------------------------------------------------------------------------------------------
{curl 3.0 applet}
{curl-file-attributes character-encoding = "euc-kr"}
{applet manifest = "manifest.mcurl"}

{import * from CURL.LANGUAGE.REGEXP}

{include "httplib.scurl"}

{value
    
    {HBox
        {CommandButton label="GET",
            {on Action do            
                let (result :String, error? : bool) =
                    {gfGetMethod
                        {url "http://localhost/study/http3/start1.php?mode=list&no=7"},
                        {get-character-encoding-by-name "euc-kr"}                            
                    }
                
                set result = {regexp-subst "\r", result, "", replace-all?=true}
                    
                let rows : StringArray = {result.split split-chars="\n"}
                
                {if rows.size < 2 then
                    {popup-message result} || µ¥ÀÌÅÍ¿¡ ¹®Á¦ÀÖÀ½.
                    {return}
                }                
                
                
                || RecordSet ÀÇ field ¸¸µé±â
                let fields : {Array-of RecordField} = {{Array-of RecordField}}
                let names : StringArray = {rows[0].split split-chars=","}
                let domains : StringArray = {rows[1].split split-chars=","}
                {for i:int=0 below names.size do
                    let domain : Domain = {Domain.from-type {evaluate domains[i]}}                    
                    {fields.append
                        {RecordField names[i], domain = domain}
                    }
                }
                
                || RecordData »ý¼º
                let rds : {Array-of RecordData} = {{Array-of RecordData}}
                
                {for i:int=2 below rows.size do
                    ||{popup-message rows[i]}                    
                    let cols : StringArray = {rows[i].split split-chars=","}
                    
                    let rd : RecordData = {RecordData}
                    {for j:int=0 below cols.size do
                        {if cols[j] == "" then {continue}}
                        set rd[ fields[j].name] = cols[j]            
                    }
                    {rds.append rd}                      
                    
                }
                
                || RecordSet »ý¼º
                let rs : RecordSet =
                    {RecordSet
                        {RecordFields {splice fields}},
                        {splice rds}                        
                    }
                
                {popup-message {RecordGrid record-source=rs}}
            }
        }
        
    }
}

-------------------------------------------------------------------------------------------

À̹ø ¼Ò½º´Â Á» µÇ´Â±º¿ä..
start1.php ¿¡¼­ ¹Þ¾Æ¿Â µ¥ÀÌÅ͸¦ RecordSet ¿¡ ÀúÀåÇϰí..
±× ³»¿ëÀ» RecordGrid ·Î È­¸é¿¡ Ç¥½ÃÇÏ´Â °ÍÀÔ´Ï´Ù.

¿©±â¿¡¼­ Áß¿äÇÑ°Ç °¡Á®¿Â µ¥ÀÌÅ͸¦ Àß¶ó³»¼­ RecordSet ¿¡ ³Ö´Â °ÍÀ̰ÚÁÒ?

±×·³ Çϳª¾¿ »ìÆìº¾½Ã´Ù.

set result = {regexp-subst "\r", result, "", replace-all?=true}

start1.php ¿¡¼­ ¹Þ¾Æ¿Â µ¥ÀÌÅÍ´Â result ¿¡ ÀúÀåÀÌ µÇ¾îÀÖ½À´Ï´Ù.
µ¥ÀÌÅ͸¦ ½±°Ô ºÐ¸®Çϱâ À§Çؼ­ {regexp-subst} ¸¦ ÀÌ¿ëÇØ¼­ \r À» ¾ø¾ÖÁÖ´Â ÀÛ¾÷À» ÇÕ´Ï´Ù.
Á¤±Ô½Ä ÇÔ¼öÀÎ regexp-subst ¸¦ »ç¿ëÇϱâ À§Çؼ­´Â

{import * from CURL.LANGUAGE.REGEXP}

¸¦ ÇØÁà¾ß ÇÕ´Ï´Ù.

´ÙÀ½À¸·Î

let rows : StringArray = {result.split split-chars="\n"}
{if rows.size < 2 then
    {popup-message result} || µ¥ÀÌÅÍ¿¡ ¹®Á¦ÀÖÀ½.
    {return}
}

´Â ¿©·¯ÁÙÀÇ µ¥ÀÌÅ͸¦ °¢°¢ÀÇ StringArray ·Î ¸¸µé¾î ÁÖ´Â ÀÛ¾÷À» ÇÕ´Ï´Ù.
{String.split} ¸Þ¼Òµå¸¦ ÀÌ¿ëÇØ¼­ ¹®ÀÚ¿­À» ºÐ¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.

Áö±Ý °­Á¿¡¼­ Á¤ÀÇÇÑ ±ÔÄ¢Àº ¹«Á¶°Ç 2ÁÙÀÌ ³Ñ¾î¾ß ÇϹǷΠ2ÁÙÀÌ ¾Æ´Ï¸é ¸®ÅÏÇÕ´Ï´Ù.


À̹ø¿¡´Â ù µÎÁÙÀ» ÀÌ¿ëÇØ¼­ RecordSet ÀÇ field ¸¸µå´Â ÀÛ¾÷´Ï´Ù.

  let fields : {Array-of RecordField} = {{Array-of RecordField}}
  let names : StringArray = {rows[0].split split-chars=","}
  let domains : StringArray = {rows[1].split split-chars=","}
  {for i:int=0 below names.size do
      let domain : Domain = {Domain.from-type {evaluate domains[i]}}                    
      {fields.append
          {RecordField names[i], domain = domain}
      }
  }

RecordSet À» »ý¼ºÇÒ ¶§ ¹«Á¶°Ç RecordField °¡ Á¸ÀçÇØ¾ß ÇϹǷÎ
{Array-of RecordField} ¸¦ ÀÌ¿ëÇØ¼­ ¹è¿­À» ¸¸µì´Ï´Ù.
(*RecordSet ÀÇ Field¸¦ µ¿ÀûÀ¸·Î »ý¼ºÇÒ ¼ö ÀÖ´Ù¸é ÁÁ°ÚÀ¸³ª Áö¿ø¾ÈµÊ)

names ´Â Çʵå¸íÀÌ µé¾î°¡°í domains ´Â µµ¸ÞÀÎ(ŸÀÔ) ÀÌ µé¾î°©´Ï´Ù.
Á»´õ Á¦´ë·Î ÇÒ·Á¸é °¹¼ö üũµµ ÇØ¾ßµÇ´Âµ¥ ¿©±â¼­´Â ³Ñ¾î°¡°Ú½À´Ï´Ù.

Çʵ带 ¸¸µé¾úÀ¸´Ï À̹ø¿¡´Â µ¥ÀÌÅ͸¦ ¸¸µé¾î º¸°Ú½À´Ï´Ù.
µ¥ÀÌÅÍ´Â RecordSet À» µ¿ÀûÀ¸·Î »ý¼ºÇÑÈÄ append ·Î Ãß°¡ÇÒ ¼ö ÀÖÀ¸³ª
¿©±â¼­´Â ¹è¿­·Î ¸¸µé¾î¼­ ³Ö¾ú½À´Ï´Ù.

let rds : {Array-of RecordData} = {{Array-of RecordData}}
{for ... do
   ...
}

ÀÌÁ¨ Çʵå¿Í ·¹ÄÚµå ¹è¿­ÀÌ ¸¸µé¾î Á³À¸´Ï splice ÇÔ¼ö¸¦ ÀÌ¿ëÇØ¼­ ½ÇÁ¦ RecordSet À»
»ý¼ºÇÕ´Ù.

  let rs : RecordSet =
      {RecordSet
          {RecordFields {splice fields}},
          {splice rds}                        
      }

¾î·Á¿î ³»¿ëÀÌ ¾Æ´Ï´Ï ÀÌÇØÇϱ⠽¬¿ì½Ç °ÍÀÔ´Ï´Ù.
(**óÀ½ ÀÌ ³»¿ëÀ» ¸ô¶ú´ø Àú´Â ¹«Áö °í»ýÇß½À´Ï´Ù. ^^;)



À̹ø °­Á´ °£´ÜÈ÷ , ·Î ºÐ¸®µÈ µ¥ÀÌÅ͸¦ RecordSet ¿¡ ³Ö´Â °Í±îÁö Çß½À´Ï´Ù.
À̰͸¸ ÀÖÀ¸¸é ¼­¹ö¿ÍÀÇ Åë½ÅÀº °ÅÀÇ 90% ÀÌ»óÀÌ ´Ù ³¡³µ´Ù°íÇØµµ °ú¾ðÀÌ ¾Æ´Õ´Ï´Ù.
¾î¶² ½ÇÇàÀÇ °á°ú..¿¹¸¦ µé¸é »èÁ¦¶ó´ø°¡.. ÇÏ´Â ºÎºÐµµ À§¿Í°°ÀÌ Á¤ÇϽÅÈÄ
RecordSet À¸·Î ¹Þ¾Æ¼­ ¼º°ø/½ÇÆÐ ¿©ºÎ¸¦ ÆÇ´ÜÇÒ ¼ö ÀÖ°ÚÁÒ.

±× ÀÀ¿ëÀº ¿©·¯ºÐµé¿¡°Ô ¸Ã±â±¸¿ä.
ÀÌ °­Á°¡ ¼­¹ö¿ÍÀÇ ¸¸³² ¸¶Áö¸· °­ÁÂÀÔ´Ï´Ù.

±×·³~~




Ãʺ¸ÀÚ
set rd[ fields[j].name] = cols[j]
À̺κп¡¼­ À妽º ¿¡·¯ ³ª´Âµ¥ .....Á¦°¡ À߸øµÈ°Ç°¡¿ä?
2005-03-03
10:54:25



  ÃßõÇÏ±â   ¸ñ·Ïº¸±â

¹øÈ£ ºÐ·ù Á¦¸ñ ÀÛ¼ºÀÚ ÀÛ¼ºÀÏ   Ãßõ Á¶È¸
65 ÃʱÞÀÀ¿ë  [±âÃʰ­Á #15] °Ô½ÃÆÇ ¸¸µé±â #4    5th 2004/06/08 503 3006
64 ÃʱÞÀÀ¿ë  [±âÃʰ­Á #14] °Ô½ÃÆÇ ¸¸µé±â #3    5th 2004/06/08 386 2552
63 ÃʱÞÀÀ¿ë  [±âÃʰ­Á #13] °Ô½ÃÆÇ ¸¸µé±â #2    5th 2004/06/08 276 3083
62 ÃʱÞÀÀ¿ë  [±âÃʰ­Á #12] °Ô½ÃÆÇ ¸¸µé±â #1  [1]  5th 2004/06/08 390 3626
61 ÃʱÞÀÀ¿ë  [±âÃʰ­Á #11] ¹æ¸í·Ï ¸¸µé±â #3  [15]  5th 2004/05/17 318 2658
60 ÃʱÞÀÀ¿ë  [±âÃʰ­Á #10] ¹æ¸í·Ï ¸¸µé±â #2  [3]  5th 2004/05/17 297 2833
59 ÃʱÞÀÀ¿ë  [±âÃʰ­Á #9] ¹æ¸í·Ï ¸¸µé±â #1  [3]  5th 2004/05/17 279 2653
58 ÃʱÞÀÀ¿ë  [±âÃʰ­Á #8] RecordSet class¸¦ ÀÌ¿ëÇÑ µ¥ÀÌÅÍ ´Ù·ç±â #3    5th 2004/05/11 347 2211
57 ÃʱÞÀÀ¿ë  [±âÃʰ­Á #7] RecordSet class¸¦ ÀÌ¿ëÇÑ µ¥ÀÌÅÍ ´Ù·ç±â #2  [19]  5th 2004/05/11 348 2299
56 ÃʱÞÀÀ¿ë  [±âÃʰ­Á #6] RecordSet class¸¦ ÀÌ¿ëÇÑ µ¥ÀÌÅÍ ´Ù·ç±â #1  [1]  5th 2004/05/11 280 2537
55 ÃʱÞÀÀ¿ë  [±âÃʰ­Á #5] ¸Þ´º ¸¸µé±â #2    5th 2004/04/30 344 2237
54 ÃʱÞÀÀ¿ë  [±âÃʰ­Á #4] ¸Þ´º ¸¸µé±â #1    5th 2004/04/30 295 2409
53 ÃʱÞÀÀ¿ë  [±âÃʰ­Á #3] ¸Þ´º ¸¸µé±â – ½ÃÀÛ  [1]  5th 2004/04/30 314 2216
52 ÃʱÞÀÀ¿ë  [±âÃʰ­Á #2] Æ®¸®±¸Á¶ ¸¸µé±â #2    5th 2004/04/27 280 2701
51 ÃʱÞÀÀ¿ë  [±âÃʰ­Á #1] Æ®¸®±¸Á¶ ¸¸µé±â #1  [1]  5th 2004/04/27 318 2793
50 ÃÊ±Þ  [À¥¼­¹ö¿ÍÀÇ ¸¸³² #6] SAX¸¦ ÀÌ¿ëÇØ¼­ XML µ¥ÀÌÅ͸¦ RecordSet À¸·Î ¹Þ±â    vidkid 2004/04/27 372 2369
49 ÃÊ±Þ  [À¥¼­¹ö¿ÍÀÇ ¸¸³² #5] SAX ÆÄ¼­¸¦ ÀÌ¿ëÇÑ XML µ¥ÀÌÅÍ ºÐ¼®  [10]  vidkid 2004/04/27 571 10339
ÃÊ±Þ  [À¥¼­¹ö¿ÍÀÇ ¸¸³² #4] µ¥ÀÌÅ͸¦ RecordSet À¸·Î ¹Þ±â - ·¹ÄÚµå¼Â¿¡ ³Ö±â  [13]  vidkid 2004/04/22 324 2640
47 ÃÊ±Þ  [À¥¼­¹ö¿ÍÀÇ ¸¸³² #3] µ¥ÀÌÅ͸¦ RecordSet À¸·Î ¹Þ±â - ÇÁ·Î½ÃÀú ¸¸µé±â  [3]  vidkid 2004/04/21 491 4015
46 ÃÊ±Þ  [À¥¼­¹ö¿ÍÀÇ ¸¸³² #2] GET / POST ¸Þ¼Òµå  [15]  vidkid 2004/04/21 534 6628

    ¸ñ·Ïº¸±â   ÀÌÀüÆäÀÌÁö   ´ÙÀ½ÆäÀÌÁö [1] 2 [3][4][5]
       

Copyright 1999-2010 Zeroboard / skin by zero