lecture Home > ASP.NET > .NET Board

.NET °Ô½ÃÆÇ °­Á - ±è¿¬Áø´Ô Á¦°ø

   °­Á ÃÖÃÊ ÀÛ¼ºÀÏ : 2001³â 09¿ù 10ÀÏ
   °­Á ÃÖÁ¾ ¼öÁ¤ÀÏ : 2001³â 09¿ù 17ÀÏ

   ÀÛ¼ºÀÚ : Cassatt(±è ¿¬Áø)
   ÆíÁýÀÚ : Taeyo(±è Å¿µ)

   °­Á Á¦¸ñ : Table ¸¸µé±â & .NET¿¡¼­ÀÇ DB¿¬°á

3.1 Å×ÀÌºí ¸¸µé±â

°Ô½ÃÆÇÀ» ¸¸µé±â À§ÇØ ¸ÕÀú ÇÒÀÏÀº DB¿¡ Å×À̺íÀ» ¸¸µå´Â °ÍÀÔ´Ï´Ù. À̹ø °­Á¿¡¼±, Å×À̺íÀ» ¸¸µçÈÄ Å×½ºÆ®Çϰí, ´å³Ý¿¡¼­ Äõ¸®¹® ½ÇÇàÇÏ´Â ¹æ¹ýÀ» °£´ÜÈ÷ ¾Ë¾Æº¸·Á ÇÕ´Ï´Ù.

DB¸¦ ¸¸µç ÈÄ, Query Analyser ¿¡¼­ ´ÙÀ½°ú °°Àº Äõ¸®¹®À» ½ÇÇàÇØ¼­ Å×À̺íÀ» ¸¸µì´Ï´Ù.

create table cstBoard (
  seq int not null identity(1,1),
  writer varchar(20) not null,
  pwd varchar(20) not null,
  email varchar(100) null,
  title varchar(200) not null,

  ip int not null,
  writeDate smalldatetime not null,
  readed int not null default(0),
  mode tinyint not null,
  content text,

  constraint pk_cstBoard_seq primary key clustered ( seq desc )
)

cstBoard¿¡¼­ cst ´Â cassattÀÇ ¾àÀÚÀÔ´Ï´Ù. ¾ÕÀ¸·Î Å×À̺í¸íÀ̳ª, Ŭ·¡½º À̸§µîÀÇ ¾Õ¿¡´Â cst¸¦ ºÙ¿©¼­ ´Ù¸¥ °Í°ú È¥µ¿µÇÁö ¾Êµµ·Ï ±¸ºÐÇÏ·ÁÇÕ´Ï´Ù.

Å×À̺í Çʵ带 ¼³¸íÇÏ¸é ´ÙÀ½°ú °°½À´Ï´Ù

seqÀÚµ¿ Áõ°¡Çü °ªÀ¸·Î, °¢ ±ÛÀ» ±¸º°ÇÏ´Â key·Î ¾²ÀÔ´Ï´Ù.
¶ÇÇÑ ±Û ¸ñ·Ï º¸±â¿¡¼­´Â °Ô½Ã¹°À» ¾´ ¿ª¼øÀ¸·Î Á¤·ÄÇϱâ À§ÇØ »ç¿ëµË´Ï´Ù.
writerÀÛ¼ºÀÚ
pwdºñ¹Ð¹øÈ£
email¸ÞÀÏÁÖ¼Ò
titleÁ¦¸ñ
ipÀÛ¼ºÀÚ ¾ÆÀÌÇÇ.
int ÇüÀ¸·Î µÇ¾î ÀÖ´Â °ÍÀº ¾ÆÀÌÇÇrk 4byte int ÇüÀ¸·Î Ç¥ÇöÀÌ °¡´ÉÇϱ⠶§¹®ÀÔ´Ï´Ù.
ip -> Á¤¼ö, Á¤¼ö -> ip·Î º¯È¯ÇÏ´Â ÇÔ¼öµµ ¸¸µé °ÍÀÔ´Ï´Ù.
writeDate±Û¾´ ³¯Â¥. ¾ÆÁÖ Á¤È®ÇÒ ÇÊ¿ä´Â ¾ø±â ¶§¹®¿¡ ºÐ´ÜÀ§ Á¤È®µµÀÎ smalldatetimeÀ»
»ç¿ëÇÏ¿´½À´Ï´Ù.. ±×³É datetimeÀ¸·Î Çϼŵµ µË´Ï´Ù. insert ½Ã, ms-sql ÇÔ¼öÀÎ
getdate() ·Î ±ÛÀ» ¾´ ½Ã°£À» ³Ö½À´Ï´Ù.
readedÁ¶È¸¼ö
mode±ÛÀÌ html ű׸¦ Çã¿ë(1)ÇÏ´ÂÁö, ¾Æ´ÑÁö(0) ³ªÅ¸³À´Ï´Ù.
bit°¡ ¾Æ´Ñ, tinyint·Î ÇÏ´Â °ÍÀº ³ªÁß¿¡ ´Ù¸¥ ¿É¼ÇÀÌ Ãß°¡µÉ ¼ö Àֱ⠶§¹®ÀÔ´Ï´Ù.
content±ÛÀÇ ³»¿ë

±×¸®°í constraint ÀýÀº seq Çʵ带 primary key·Î Àâ´Â ¹®ÀåÀÔ´Ï´Ù. ±ÛÀ» ±¸º°ÇÏ´Â °ÍÀÌ seq ÇʵåÀ̰í, ¶ÇÇÑ ±Û Á¤·ÄÀÌ seq ¿ª¼øÀ¸·Î µÇ±â ¶§¹®¿¡ seq¸¦ pk·Î Àâ½À´Ï´Ù. desc´Â ¿ª¼ø À妽ºÀÓÀ» ³ªÅ¸³À´Ï´Ù.
* ÁÖÀÇ : ms-sql 7.0¿¡¼­´Â desc ¸¦ »©¼¼¿ä. ms-sql 2000 ÀÌ»ó¸¸ µÇ³ª º¾´Ï´Ù.

ÀÚ¼¼ÇÑ ¼³¸íÀº »ý·«ÇÕ´Ï´Ù. À̰ÍÀº query analyser¿ëÀε¥, ºÒÆíÇϽŠºÐÀº Enterprise Manager¸¦ »ç¿ëÇØµµ »ó°ü¾ø½À´Ï´Ù. ´Ù¸¸ seq Çʵ忡 primary key¸¦ Áֽô °ÍÀº ÀØÁö ¸¶½Ã±â ¹Ù¶ø´Ï´Ù. seq Çʵ尡 pk³Ä, ¾Æ´Ï³Ä¿¡ µû¶ó ÆÛÆ÷¸Õ½º°¡ ¾öû³ª°Ô Â÷À̳³´Ï´Ù. ±ÛÀÇ ¼ö°¡ Áõ°¡ÇÔ¿¡ µû¶ó ¸» ±×´ë·Î "±âÇÏ ±Þ¼öÀû"À¸·Î Â÷À̰¡ ³³´Ï´Ù. ( ½ÇÁ¦·Î, ¼öÇÐÀûÀ¸·Î µûÁ®µµ ±âÇÏ ±Þ¼öÀûÀÔ´Ï´Ù ) ±âº»ÀûÀÎ ¾ê±â°ÚÁö¸¸, ÀǿܷΠindex¸¦ °ú¼ÒÆò°¡ÇÏ´Â ºÐµéÀÌ ( Á¦°¡ ´À³¢±â¿¡ ) ¸¹Àº °Í °°¾Æ¼­ °­Á¶ÇÕ´Ï´Ù.
±×¸®°í ¿ª¼øÀ¸·Î Áִµ¥¿ä, ¿ª¼øÀÌ³Ä ¾Æ´Ï³Ä´Â Å« Â÷À̰¡ ³ªÁö´Â ¾Ê½À´Ï´Ù.

 

3.2 ´å³Ý ¿¡¼­ÀÇ DB¿¬°á

¿ì¼± ´å³Ý¿¡¼­ÀÇ DB¿¬°áÀ» Å×½ºÆ®Çغ¸°í, Äõ¸® ½ÇÇàÇØ ´ëÇØ °£´ÜÈ÷ ¾Ë¾Æº¸µµ·Ï ÇϰڽÀ´Ï´Ù.

<%@ Import NameSpace="System.Data.SqlClient" %>

<script language="C#" runat="server">
  int recordCount= 0; 
  void Page_Load( Object o, EventArgs e) {
     SqlConnection dbConnection;
     dbConnection=new SqlConnection("server=(local);uid=cassatt;pwd=1111;database=taeyo;" );
     dbConnection.Open();
     SqlCommand cmd;
     cmd = new SqlCommand( "select count(*) as cnt from cstBoard", dbConnection );
     SqlDataReader dr;
     dr=cmd.ExecuteReader();
     if(dr.Read()) {
       recordCount=(int)dr["cnt"];
     }
     else {
       recordCount=0;
     }
     dr.Close();
     dbConnection.Close();
     DataBind();
  }
</script>

°Ô½ÃÆÇ¿¡´Â <%# recordCount %> °³ÀÇ ·¹Äڵ尡 ÀÖ½À´Ï´Ù.

À̰ÍÀº db¿¡¼­ cstBoard¶ó´Â Å×ÀÌºí¿¡¼­ ·¹ÄÚµå °¹¼ö¸¦ ¾Ë¾Æ³»¼­ Ãâ·ÂÇÏ´Â ¿¹Á¦ÀÔ´Ï´Ù. ¾ÕÀÇ Äõ¸®¹® ´ë·Î Å×À̺íÀ» ¸¸µå¼Ì´Ù¸é, ¾ÆÁ÷Àº ·¹Äڵ尡 Çϳªµµ ¾øÀ» °ÍÀ̹ǷÎ, "°Ô½ÃÆÇ¿¡´Â 0 °³ÀÇ ·¹Äڵ尡 ÀÖ½À´Ï´Ù"¶ó´Â ¸Þ½ÃÁö°¡ ³ª¿À¸é ¼º°øÀÔ´Ï´Ù.

ÀÌ ¿¹Á¦¸¦ ÀÌ¿ëÇØ¼­, asp.net¿¡¼­ DB »ç¿ëÀÌ ¾î¶»°Ô µÉÁö, °³·«ÀûÀ¸·Î¸¸ ¼³¸íÇØ µå¸®°Ú½À´Ï´Ù.

¿ì¼±, ¿©±â¿¡ ¾²ÀÏ °³Ã¼ÀÎ SqlConnectionÀ̳ª, SqlDataReaderµîÀ» »ç¿ëÇϱâ À§Çؼ­´Â ´ÙÀ½Ã³·³, System.Data.SqlClient ¶ó´Â NameSpace¸¦ Import ÇØ¿Í¾ß ÇÕ´Ï´Ù.

<%@ Import NameSpace="System.Data.SqlClient" %>

c·Î Ä¡¸é include ¹® Âë µË´Ï´Ù. °¢ °³Ã¼º°·Î, ¼ÓÇÑ NameSpace(À̸§ °ø°£)°¡ ÀÖ½À´Ï´Ù. ¾î¶² °³Ã¼¸¦ »ç¿ëÇÏ·Á¸é, ¸ÕÀú ±× °³Ã¼°¡ ¼ÓÇÑ NameSpace¸¦ »ç¿ëÇÑ´Ù°í, ¾Ë·ÁÁà¾ß ÇÕ´Ï´Ù. ASP.net ³»¿¡´Â ¿ö³«¿¡ ¸¹Àº °³Ã¼°¡ Àֱ⿡, ÀÌ·±½ÄÀ¸·Î ¾ÈÇÏ¸é °ü¸®°¡ ¾ÈµË´Ï´Ù.
namespace¿¡ ´ëÇØ¼­, »ç½Ç Àúµµ Á¤È®ÇÑ Àǹ̴ ¸ð¸¨´Ï´Ù. -_-; ´Ù¸¸, ÀÛ¾÷ÇϽǶ§, ¾î´À °³Ã¼ÀÇ Çü½Ä ¶Ç´Â NameSpace¸¦ ãÀ» ¼ö ¾ø´Ù°Å³ª ÇÏ´Â ¿¡·¯°¡ ³¯¶§°¡ ÀÖÀ»°Ì´Ï´Ù. ±×·²¶© µµ¿ò¸»¿¡¼­ ±× °³Ã¼¸¦ ãÀ¸¸é ¾Æ·¡ ºÎºÐ¿¡ NameSpace°¡ ³ª¿À´Âµ¥, ±× NameSpace¸¦ Import ÇØÁÖ½Ã¸é µË´Ï´Ù.

¿¹ÀüÀÇ ADO¿Í ¸¶Âù°¡Áö·Î, ¿ì¼± ÇØ´ç DB¿Í ConnectionÀ» ¿­¾î¾ß ÇÕ´Ï´Ù.

 
SqlConnection dbConnection;
dbConnection=new SqlConnection("server=(local);uid=cassatt;pwd=1111;database=taeyo;" );
dbConnection.Open();

À§¿¡¼­´Â local ¼­¹ö¿¡, cassatt¶ó´Â ¾ÆÀ̵ð, ºñ¹Ð¹øÈ£ 1111·Î taeyo¶ó´Â database¿¡ ¿¬°áÇϰí ÀÖ½À´Ï´Ù.

Àü°ú ºñ½ÁÇØ º¸ÀÔ´Ï´Ù¸¸, ¿¬°á ¹®ÀÚ¿­¿¡ Àü¿¡ ½è´ø dsn=xxx ½ÄÀÇ odbc À̸§Àº ¾µ ¼ö ¾ø½À´Ï´Ù. server=¼­¹öÀ̸§; ½ÄÀ¸·Î MS-SQL ¼­¹öÀ̸§À» Àû¾îÁÖ¾î¾ß ÇÏÁÒ. µµ¿ò¸»À» º¸´Ï ´Ù¸¥ OLE-DB´Â OleDbConnectionÀ» »ç¿ëÇØ¾ß ÇÑ´Ù°í µÇ¾î ÀÖ½À´Ï´Ù.
"... SqlConnection Àº MS SQL ¼­¹ö µ¥ÀÌÅͺ£À̽º¿¡ ¿¬°áÇÒ¶§, ÆÛÆ÷¸Õ½º¸¦ ³ôÀ̱â À§ÇØ SqlDataAdapter³ª SqlCommand¿Í °áÇÕÇÏ¿© »ç¿ëÇÑ´Ù. ´Ù¸¥ ¼­µå-ÆÄƼ SQL ¼­¹ö Á¦Ç° ( OLE DB °¡ Áö¿øµÇ´Â ´Ù¸¥ Data source¸¦ Æ÷ÇÔ) Àº OleDbConnectionÀ» »ç¿ëÇ϶ó ... "
¸»ÇÏÀÚ¸é, SqlConnectionÀº ODBC¿ëµµ ¾Æ´Ò »Ó´õ·¯, MS-SQL¿¡¸¸ ¾²ÀÌ´Â °Ì´Ï´Ù. Provider=xxx °°Àº ole-db ¿¬°áµµ ¾ÈµË´Ï´Ù. ole-db ´Â, OleDbConnection, OleDbCommand, OleDbDataReaderµî ole-db¿ë °³Ã¼¸¦ ½á¾ß ÇÕ´Ï´Ù.
ODBC´Â SDK¿¡ ¾Æ¿¹ Æ÷ÇԵǾî ÀÖÁö ¾Ê°í¿ä, http://msdn.microsoft.com/downloads/default.asp?URL=/code/sample.asp?url=/MSDN-FILES/027/001/668/msdncompositedoc.xml ÇöÀç ¿©±â¼­ ODBC .NET Data Provider Beta 1 À» ´Ù¿î¹ÞÀ» ¼ö ÀÖ½À´Ï´Ù.
À§¿¡ ÁØ uid/pwd °°Àº °Í ¿Ü¿¡µµ ¿©·¯ ¿É¼ÇÀ» ÁÙ ¼ö ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº µµ¿ò¸»¿¡¼­ SqlConnectionÀÇ ÇÁ·ÎÆÛƼÀÎ ConnectionString À» ã¾Æº¸½Ã¸é µË´Ï´Ù.

¾ÆÁ÷ Àúµµ ÀÚ¼¼È÷ ¸ð¸£±â ¶§¹®¿¡ ¾Ë·Áµå¸®±â ¾î·Æ½À´Ï´Ù. ¼¼ºÎ ¿É¼ÇÀ̳ª, Access³ª, Oracle, MySql µîÀÇ ´Ù¸¥ DB¿¡ ´ëÇØ¼­´Â ´Ù¸¥ ºÐÀÇ °­Á¿¡ ÀÇÇØ ä¿öÁö¸®¶ó »ý°¢ÇÕ´Ï´Ù. MySqlÀº ´çºÐ°£Àº ODBC addonÀ» ´Ù¿î¹Þ¾Æ ¾²¼Å¾ß ÇÒ°Í °°°í¿ä, OracleÀº OleDb·Î, Access´Â Jet ¿£ÁøÀ» Ole db ¿¬°áÇϰųª, MSDE ¸¦ ÀÌ¿ëÇÏ½Ã¸é µÉ°Í °°½À´Ï´Ù.

ConnectionÀ» ¿­¾úÀ¸¸é, SqlCommand °³Ã¼¸¦ »ý¼ºÇϰí, SqlDataReader·Î DBÀÇ ³»¿ëÀ» ÀнÀ´Ï´Ù.

cmd = new SqlCommand( "select count(*) as cnt from cstBoard", dbConnection );
SqlDataReader dr;
dr=cmd.ExecuteReader();
if(dr.Read()) {
  recordCount = (int)dr["cnt"]; 
}else {
  recordCount = 0;
}

¿©±â¼­´Â ÃÖ´ë 1ÁÙÀ̱⠶§¹®¿¡ if(dr.Read()) ½ÄÀ¸·Î if ¹®À» ½è½À´Ï´Ù¸¸, º¸Åë while ¹®À¸·Î ·çÇÁ¸¦ µ¹°Ô µË´Ï´Ù.

¸¶Áö¸·À¸·Î SqlDataReader¿Í ÄÁ³Ø¼ÇÀ» ´Ý½À´Ï´Ù.

dr.Close();
dbConnection.Close();

°³·«ÀûÀÎ ÇüÅ´ ÀÌ¿Í °°½À´Ï´Ù. ÀÌ ¿¹Á¦´Â SqlDataReader·Î ÀоîµéÀÌ´Â ¿¹Á¦ Àä, ¿©·¯ ´Ù¸¥ ¹æ½ÄµéÀÌ ÀÖ½À´Ï´Ù.

 

3.2.1 SqlCommand.ExecuteReader() ¸Þ¼­µå

¿ì¼±, ¾Õ¿¡ ¾²ÀÎ SqlCommand.ExecuteReader ¸Þ¼­µå´Â ·¹Äڵ带 ÀоîµéÀ϶§ ¾²À̴µ¥, ´ë·« ´ÙÀ½°ú °°Àº ¸ð½ÀÀ» ÇÏ°Ô µË´Ï´Ù.

SqlCommand cmd;
cmd = new SqlCommand("select * from xxx", dbConnection);
SqlDataReader dr;
dr=cmd.ExecuteReader();
while( dr.Read() ) {
  ... ¿©±â¼­ dr["ÇʵåÀ̸§"] À» ÇØ´ç ÇüÀ¸·Î cast ÇØ¼­ (ex. (string)dr["title"]) »ç¿ëÇÕ´Ï´Ù.
  ... dr.Read() ½Ã¿¡, ÇÑ ·¹Äڵ徿 ÀÐ°Ô µË´Ï´Ù.
}
dr.Close();

SqlDataReader.Read()°¡ È£ÃâµÉ ¶§¸¶´Ù ·¹Äڵ尡 ÇÑÁÙ ÇÑÁÙ ÀÐÈ÷°Ô µË´Ï´Ù. ·¹Äڵ带 ÀоúÀ¸¸é true/ÀÐÁö ¸øÇßÀ¸¸é false°¡ µÇ±â ¶§¹®¿¡, À§Ã³·³ while ¹®À¸·Î ·çÇÁ¸¦ µ¹°Ô µË´Ï´Ù. Read() ÀÚü°¡ Çϳª¸¦ Àаí, ´ÙÀ½·¹ÄÚµå·Î °¡±â¶§¹®¿¡, Àüó·³ RecordSet.MoveNext() °°Àº ¸Þ¼­µå´Â ÇÊ¿ä¾ø½À´Ï´Ù
·¹Äڵ带 ´Ù ÀоúÀ¸¸é, SqlDataReader.Close()¸¦ È£ÃâÇØ¼­, SqlDataReader¸¦ ´Ý¾ÆÁÖ´Â °Íµµ Áß¿äÇÕ´Ï´Ù. ( ´ÝÁö ¾Ê°í ´Ù¸¥ DB ÀÛ¾÷À» ÇÏ·ÁÇϸé Runtime ¿¡·¯ ³³´Ï´Ù )
À̹ø °Ô½ÃÆÇ¿¡¼± ±Û ¸ñ·Ï º¸¿©ÁÙ¶§ »ç¿ëÇÏ°Ô µË´Ï´Ù.

 

3.2.2 SqlCommand.ExecuteNonQuery() ¸Þ¼­µå

ÇÑÆí, SqlCommand.ExecuteNonQuery ¸Þ¼­µå´Â °á°ú ·¹Äڵ尡 ÇÊ¿ä ¾øÀ»¶§ ¾²ÀÔ´Ï´Ù. update ¹®À̳ª insert ¹®ÀÌ ÇØ´çµÇ°ÚÁÒ.

SqlCommand cmd;
cmd = new SqlCommand("update * from xxx where xx=yy", dbConnection );
cmd.ExecuteNonQuery();

¿¹Á¦¿¡¼­´Â °£´ÜÇÑ Äõ¸®¹®À¸·Î »ç¿ëµÇ¾úÁö¸¸, Á¤½ÄÀ¸·Î(?) ÇÏÀÚ¸é ³Ñ±æ °ª(parameter)¸¦ Á¤È®È÷ ÁöÁ¤ÇÏ°Ô µË´Ï´Ù. ±Û ¾²±â(write.aspx)¿¡¼­ Á»´õ ÀÚ¼¼È÷ ´Ù·ì´Ï´Ù.

 

3.2.3 SqlCommand.ExecuteScalar() ¸Þ¼­µå

À̿ܿ¡, À̹ø beta2¿¡ Æ÷ÇÔµÈ °ÍÁß, ExecuteScalar°¡ Àִµ¥¿ä, ÀÌ ¸Þ¼­µå´Â ·¹ÄÚµå Çϳª¸¸ ÀнÀ´Ï´Ù.

SqlCommand cmd;
cmd = new SqlCommand("select count(*) from xxx", dbConnection );
co = (int)cmd.ExecuteScalar();

count(*), sum, max °ª °°Àº °æ¿ì¿¡ À¯¿ëÇÏ°Ô ¾²À̸®¶ó »ý°¢µË´Ï´Ù.

 

3.2.4 SqlDataAdapter + DataSet

±×¸®°í SqlCommand ´ë½Å SqlDataAdapter/DataSetÀ» ÀÌ¿ëÇÏ´Â ¹æ¹ýµµ ÀÖ½À´Ï´Ù.

...
SqlDataAdapter myCommand = new SqlDataAdapter("select * from theTable",dbConnection);
DataSet ds = new DataSet(); 
myCommand.Fill(ds,  "theTable"); 

...
ÀÌÇÏ DataTable°³Ã¼ÀÎ ds.Tables["theTable"] ·Î ÀÛ¾÷ÇÑ´Ù 

¾ÆÁ÷Àº ÀÌ °³Ã¼¸¦ Àß ¾ËÁö ¸øÇؼ­ ¸¹Àº ¼³¸íÀ» ¸øµå¸®°Ú³×¿ä. µµ¿ò¸»¿¡´Â "SqlDataAdapter´Â DataSet°ú Sql ¼­¹ö »çÀÌ¿¡¼­, ÀڷḦ ¾ò°Å³ª ÀúÀåÇϱâ À§ÇÑ ´Ù¸®bridge ¿ªÇÒÀ» ÇÑ´Ù"°í µÇ¾î ÀÖ½À´Ï´Ù. SqlDataAdapter¿¡´Â Áß¿äÇÑ ¸Þ¼­µå·Î Fill °ú Update ¸¦ Á¦°øÇϴµ¥¿ä, À§¿¡µµ ¾²ÀÎ FillÀº ÀڷḦ ¾ò¾î¿À±â(retrive)À§Çؼ­, Update´Â ÀڷḦ ÀúÀåÇϱâ À§Çؼ­ ¾²ÀÔ´Ï´Ù.

À§ ¼Ò½º¿¡¼± select Äõ¸®¹®À¸·Î SqlDataAdapter¸¦ »ý¼ºÇϰí, ±× ³»¿ëÀ» DataSet¿¡ ä¿ó´Ï´Ù(Fill). ÀÏ´Ü Ã¤¿öÁö¸é, ±×°ÍÀº ¹è¿­ ¾²µíÀÌ »ç¿ëÇÒ ¼ö ÀÖ°í¿ä, DataGrid¶ó´Â °³Ã¼¿Í ¿¬µ¿ÇÏ¸é ÆäÀÌ¡À» ÇÒ ¼ö ÀÖ½À´Ï´Ù.

¸¹ÀÌ »ç¿ëÇØ º¸Áö ¸øÇ߱⠶§¹®¿¡, ÀÌ ¹æ½ÄÀÇ Àå/´ÜÁ¡À» ¸»¾¸ µå¸®±â ¾î·Æ½À´Ï´Ù. Á¦°¡ Àß ¸ô¶ó ª°Ô ¼³¸íÇÕ´Ï´Ù¸¸, »ç¿ë ¹æ¹ýµµ º¹ÀâÇϰí, ³»¿ëÀÌ ¸¹½À´Ï´Ù.

SqlDataAdapter´Â ±â´ÉÀÌ ¸¹´Ù´Â ´ë½Å, ¼Óµµ°¡ ´À·ÁÁú ¼ö ÀÖ´Ù´Â ´ÜÁ¡ÀÌ ÀÖ½À´Ï´Ù. /QuickStartÀÇ ÆÛÆ÷¸Õ½º ÆÁ ¶õ¿¡´Â, ( ¸¸¾à ÆÛÆ÷¸Õ½º°¡ ¹®Á¦µÈ´Ù¸é ) DataSet º¸´Ù SqlDataReader »ç¿ëÀ» ÇØº¸¶ó°í ±ÇÇÏ´õ±º¿ä.

À̰ÍÀº, Àü¿¡ asp ·¹ÄÚµå ¼Â¿¡¼­ Áö¿øÇÏ´Â ÆäÀÌ¡ ¾µ¶§¿Í »óȲÀÌ ºñ½ÁÇÕ´Ï´Ù. À§ ¼Ò½º¿¡¼­ myCommand.Fill(ds, "xxx") ½ÄÀ¸·Î Fill ¸Þ¼­µå¸¦ »ç¿ëÇÏ¿´´Âµ¥¿ä, ÀÌ·¯¸é ÇØ´ç Äõ¸®¹®ÀÇ ¸ðµç ·¹Äڵ带 °¡Á®¿Í ÇØ´ç DataSet¿¡¼­ ÀúÀåÇÕ´Ï´Ù. ±×·¸´Ù¸é, ·¹ÄÚµå ¼ö°¡ ¸¹°Å³ª, DB¼­¹ö¿Í À¥¼­¹ö°¡ ºÐ¸®µÇ¾î ÀÖ´Â °æ¿ì¿£ ´À·ÁÁú ¼ö ¹Û¿¡ ¾ø°ÚÁÒ.

myCommand.Fill(ds, 1,20, "xxx") ó·³, ¾îµð¼­ ºÎÅÍ ¾îµð±îÁö(À§¿¡¼± 1¹øÂ°~20¹øÂ°) °¡Á®¿À´Â °ÍÀÌ °¡´ÉÇϱä ÇÕ´Ï´Ù¸¸, ÀÌ·¯¸é (Á¦°¡ ¾Æ´Â ÇÑ ) ÃÑ ·¹ÄÚµå ¼ö¸¦ ±¸ÇÒ ¼ö ¾ø¾î¼­, °Ô½ÃÆÇ ±Û ¸ñ·Ï º¸±â¿¡ »ç¿ëÇÏ±ä ¾î·Æ½À´Ï´Ù. SqlDataAdapter + DataSet + DataGrid ÀÇ ÆäÀÌ¡À» »ç¿ëÇϸé ÁÁ°Ú´Âµ¥, ±×·¯±â À§Çؼ± ÃÑ ·¹ÄÚµå¼ö¿Í ÃÑ ÆäÀÌÁö¼ö¸¦ ±¸ÇϱâÀ§ÇØ ¸ðµç ·¹Äڵ带 °¡Á®¿Í¾ß Çϰí, ±×·¯¸é ·¹ÄÚµå ¼ö°¡ ¸¹¾ÆÁú ¼ö·Ï ´À·ÁÁý´Ï´Ù.

À̹ø °Ô½ÃÆÇ¿¡¼­´Â SqlDataAdapter ´ë½Å SqlDataReader ¸¸À» »ç¿ëÇÕ´Ï´Ù. Á¦°¡ Àü¿¡ ¾²´ø ¹æ¹ýÀÎ, ¼­ºê Äõ¸®¸¦ »ç¿ëÇØ¼­ Áß°£¸¸ ²÷¾î¿Àµµ·Ï Çߴµ¥¿ä, ÀÌ ¹æ½Ä¿¡¼± SqlDataReader¸é ÃæºÐÇÕ´Ï´Ù.

SqlDataAdapter ¾²´Â ÆäÀÌ¡ °æ¿ì Å×½ºÆ®¸¦ ¸¹ÀÌ´Â ¸øÇغôµ¥, ÀüÀÇ adOpenStatic °°Àº Ä¿¼­·Î ¿­¾î¼­ ÆäÀÌ¡ ÇÏ´Â °Íº¸´Ù´Â »¡¶ó º¸ÀÌ´õ±º¿ä. ¾ÕÀ¸·Î ¸¹Àº ¾ê±â ÀÖ¾úÀ¸¸é ÁÁ°Ú½À´Ï´Ù.

 

Back