DataReader GetSchemaTable ¸Þ¼­µå ¹× C#¸¦ »ç¿ë ÇÏ ¿© ¿­ ½ºÅ°¸¶ °Ë»ö ¹æ¹ý¿¡ ¼³¸í ÇÕ´Ï´Ù.NET

±â¼ú ÀÚ·á: 310107 - ÀÌ ¹®¼­°¡ Àû¿ëµÇ´Â Á¦Ç° º¸±â.
ÀÌ ¹®¼­´Â ÀÌÀü¿¡ ´ÙÀ½ ID·Î ÃâÆÇµÇ¾úÀ½: KR310107
¸ðµÎ È®´ë | ¸ðµÎ Ãà¼Ò

ÀÌ ÆäÀÌÁö¿¡¼­

¿ä¾à

ÀÌ ¹®¼­¿¡¼­´Â ado¿¡¼­ DataReader °³Ã¼ÀÇ GetSchemaTable ¸Þ¼­µå¸¦ »ç¿ë ÇÏ´Â ¹æ¹ýÀ» º¸¿© ÁÝ´Ï´Ù.NET ¿­ ½ºÅ°¸¶ Á¤º¸¸¦ °Ë»öÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¥ ¿­ ½ºÅ°¸¶´Â ¶ÇÇÑ ÇÊµå ¼Ó¼ºÀÌÀÔ´Ï´Ù. ¿­ ½ºÅ°¸¶ Á¤º¸ ¿­¿¡ ´ë ÇÑ ´ÙÀ½ Á¤º¸¸¦ Æ÷ÇÔ ÇÕ´Ï´Ù.
  • À̸§
  • µ¥ÀÌÅÍ Çü½Ä
  • Å©±â
  • ¿­¿¡¼­ ±âº» Ű Çʵå ÀÎÁö ¿©ºÎ
  • ¿­¿¡ ÀÏ·Ã ¹øÈ£ (AutoIncrement) ¿©ºÎ Çʵå
GetSchemaTable ¸Þ¼­µå´Â DataReaderÀÇ ¿­ ½ºÅ°¸¶¸¦ Æ÷ÇÔ ÇÏ´Â DataTable ¼Ó¼ºÀ» ¹Ýȯ ÇÕ´Ï´Ù. DataTable Àº °á°ú ÁýÇÕÀÇ °¢ Çʵ忡 ´ëÇØ ÇÑ ÇàÀ» Æ÷ÇÔÇÕ´Ï´Ù. °¢ ¿­ °á°ú ÁýÇÕ¿¡ ÀÖ´Â ÇʵåÀÇ ¼Ó¼º¿¡ ¸ÅÇÎ. DataTable ¿­ÀÇ ColumnName ¼Ó¼ºÀº ColumnName, DataType, ColumnSize, IsKeyColumn¶Ç´Â IsAutoIncrement ¼Ó¼º°ú °°Àº ÇÊµå ¼Ó¼ºÀÇ À̸§ÀÔ´Ï´Ù. DataTable ¿­ÀÇ °ªÀ» FirstNameColumnName ¼Ó¼º °ª°ú °°Àº ÇʵåÀÇ ¼Ó¼º °ªÀÌÀÔ´Ï´Ù.
Âü°í ÇÊµå ¿©ºÎ¸¦ Æ÷ÇÔ ÇÏ´Â ±âº» Ű Á¤º¸¸¦ °¡Á®¿À·Á¸é ºÎºÐ ±âº» Ű ¹× ÀÚµ¿ ÁõºÐ Çʵå ÀÎÁö ¿©ºÎ, DataReaderCommandBehavior °ª CommandBehavior.KeyInfoÀ» ¼³Á¤ ÇØ¾ß ÇÕ´Ï´Ù.

µÎ OLE DB¿¡´Â GetSchemaTable ¸Þ¼­µå¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.NET °ø±ÞÀÚ ¶Ç´Â ÇØ´ç SQLÀÔ´Ï´Ù.NET °ø±ÞÀÚÀÔ´Ï´Ù. OleDbDataReader.GetSchemaTable ¸Þ¼­µå´Â OLE DB IColumnsRowset::GetColumnsRowset ¸Þ¼­µå¿¡ ¸ÅÇÎÇÕ´Ï´Ù. SqlDataReader.GetSchemaTable ¸Þ¼­µå´Â OLE DB °ø±ÞÀÚ °èÃþÀ» »ç¿ë ÇÏÁö ¾Ê½À´Ï´Ù.

¸Þ¸ðÀÇ DataReaderGetSchemaTable ¸Þ¼­µå¸¦ ¸í½ÃÀûÀ¸·Î »ç¿ë ÇÏÁö ¾Ê´Â °æ¿ì ¿­ ½ºÅ°¸¶¸¦ ¹Ýȯ ÇÏÁö ¾Ê½À´Ï´Ù. ¶ÇÇÑ GetSchemaTable À» »ç¿ë ÇÏ ¿© ¿­ ½ºÅ°¸¶¸¦ °Ë»ö ÇÏ´Â °æ¿ì DataReader¸¦ ¾÷µ¥ÀÌÆ®ÇÒ ¼ö ¾ø½À´Ï´Ù. DataReader ´Â Ç×»ó ÀüÁø Àü¿ë, Àбâ Àü¿ë µ¥ÀÌÅÍ ½ºÆ®¸²À» °Ë»öÀº µ¥ÀÌÅͺ£À̽ºÀÔ´Ï´Ù.

GetSchemaTable ¸Þ¼­µå¸¦ »ç¿ë ÇÏ´Â °æ¿ì

  • SqlConnection °³Ã¼´Â SQL Server ½ºÅ°¸¶ Á¤º¸ °Ë»öÀ» Áö¿ø ÇÏÁö ¾Ê½À´Ï´Ù. OleDbConnection °³Ã¼ÀÇ GetOleDbSchemaTable ¸Þ¼­µå¸¦ À¯»çÇÑ ¹æ¹ý¿¡¼­. SqlDataReader Ŭ·¡½ºÀÇ GetSchemaTable ¸Þ¼­µå¸¦ ¿­ ½ºÅ°¸¶¸¦ ¾òÀ» ¼ö ÀÖ´Â °£´ÜÇÑ ¹æ¹ýÀ» Á¦°ø ÇÕ´Ï´Ù. SQL Server Á¤º¸¸¦ Á¦°ø ÇÕ´Ï´Ù.
  • OleDbConnection °³Ã¼ÀÇ GetOleDbSchemaTable ¸Þ¼­µå µ¥ÀÌÅͺ£À̽º, Å×ÀÌºí ¹× ¿­ ½ºÅ°¸¶ Á¤º¸¸¦ ¹ÝȯÇÒ ¼ö ÀÖÁö¸¸, GetSchemaTable ¸Þ¼­µå´Â DataReader °³Ã¼ÀÇ ¿­¸¸ °Ë»ö ÇÏ´Â °æ¿ì »ç¿ë Çϱ⠽±°Ô ÀÓÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ½ºÅ°¸¶ Á¤º¸ÀÔ´Ï´Ù.
  • GetSchemaTable ¸Þ¼­µå¸¦ »ç¿ë ÇÏ ¿© ¿­ À̸§ ¹× ´Ù¸¥ »ç¿ëÀÚ¸¦ ÁöÁ¤ ÇÏ´Â µ¿¾È ±âÁ¸ DataTable ¼Ó¼ºÀÇ ½ºÅ°¸¶¸¦ ±â¹ÝÀ¸·Î »õ µ¥ÀÌÅÍ Å×À̺í À» ¸¸µé·Á¸é ¿­ Ư¼ºÀÔ´Ï´Ù. GetSchemaTable À» »ç¿ë ÇÏ ¿© »õ Å×À̺í Á¤ÀÇ ÇÏ´Â ¹æ¹ýÀ» º¸¿© ÁÖ´Â »ùÇà ÄÚµå´Â "Visual Studio »ùÇÃ:: Fitch¿¡ ÂüÁ¶ ÇϽʽÿÀ. and Mather 7.0 ½ÇÇà SQL Äõ¸®"Ç׸ñ¿¡´Â Microsoft Visual Studio.NET ¿Â¶óÀÎ µµ¿ò¸».

OLE DB ½ºÅ°¸¶ ¿­À» °Ë»ö ÇÕ´Ï´Ù.NET °ø±ÞÀÚ

ÀÌ »ùÇÿ¡¼­´Â ¿­ (Çʵ忡 ´ë ÇÑ ½ºÅ°¸¶ Á¤º¸°¡ ³ª¿­ ¼Ó¼º) SQL Server NorthwindÀÇ Á÷¿ø Å×ÀÌºí µ¥ÀÌÅͺ£À̽ºÀÔ´Ï´Ù.

OLE DB¸¦ »ç¿ë ÇÏ´Â °æ¿ì´Â noteÀÔ´Ï´Ù.NET °ø±ÞÀÚ »ç¿ë OleDbDataReader °³Ã¼ÀÇ GetSchemaTable ¸Þ¼­µå.
  1. Visual Studio ½ÃÀÛ ÇÕ´Ï´Ù.NetÀ» ½ÃÀÛ ÇÏ °í´Â »õ Visual C# ¸¸µì´Ï´Ù ÄÜ¼Ö ÀÀ¿ë ÇÁ·Î±×·¥ ÇÁ·ÎÁ§Æ®¸¦ ¸¸µì´Ï´Ù. Class1.cs ±âº»ÀûÀ¸·Î ¸¸µé¾îÁý´Ï´Ù.
  2. Class1¿¡ ´ë ÇÑ ÄÚµå âÀ» ¿±´Ï´Ù. ´ÙÀ½ Äڵ带 ºÙ¿© ³Ö½À´Ï´Ù. ³×ÀÓ ½ºÆäÀ̽º ¼±¾ð À§¿¡ ÄÚµå âÀÇ ¸Ç.
    using System.Data;
    using System.Data.OleDb;
    					
  3. ÄÚµå â¿¡¼­ ´ÙÀ½ Äڵ带 Main ÇÔ¼ö¿¡ ºÙ¿©³Ö½À´Ï´Ù.
    OleDbConnection cn = new OleDbConnection();
    OleDbCommand cmd = new OleDbCommand();
    DataTable schemaTable; 
    OleDbDataReader myReader; 
    			 
    //Open a connection to the SQL Server Northwind database.
    cn.ConnectionString = "Provider=SQLOLEDB;Data Source=server;User ID=login;
                           Password=password;Initial Catalog=Northwind";
    cn.Open();
    
    //Retrieve records from the Employees table into a DataReader.
    cmd.Connection = cn;
    cmd.CommandText = "SELECT * FROM Employees";
    myReader = cmd.ExecuteReader(CommandBehavior.KeyInfo); 
    
    //Retrieve column schema into a DataTable.
    schemaTable = myReader.GetSchemaTable();
    
    //For each field in the table...
    foreach (DataRow myField in schemaTable.Rows){
        //For each property of the field...
        foreach (DataColumn myProperty in schemaTable.Columns) {
    	//Display the field name and value.
    	Console.WriteLine(myProperty.ColumnName + " = " + myField[myProperty].ToString());
        }
        Console.WriteLine();
    
        //Pause.
        Console.ReadLine();
    }
    
    //Always close the DataReader and connection.
    myReader.Close();
    cn.Close();
    					
  4. SQL Server Á¦´ë·Î ¿¬°á ÇÏ·Á¸é ConnectionString ¼Ó¼ºÀÇ ¸Å°³ º¯¼ö¸¦ ¼öÁ¤ ÇÕ´Ï´Ù. ÄÄÇ»ÅÍÀÔ´Ï´Ù.
  5. ÄÄÆÄÀÏ ÇÏ °í ÇÁ·ÎÁ§Æ®¸¦ ½ÇÇà ÇÏ·Á¸é F5 ۸¦ ´©¸¨´Ï´Ù. °øÁö °¢ ÇʵåÀÇ µî·Ï Á¤º¸´Â ÄÜ¼Ö Ã¢¿¡ ³ª¿­ µË´Ï´Ù.
  6. ¸ñ·ÏÀ» ½ºÅ©·ÑÇÏ¿© ÄܼÖÀ» Á¾·á ÇÏ·Á¸é ENTER ۸¦ ´©¸¨´Ï´Ù ÀÀ¿ë ÇÁ·Î±×·¥ ¹× ÅëÇÕ °³¹ß ȯ°æÀ¸·Î µ¹¾Æ°¡±â (IDE)ÀÔ´Ï´Ù.

¿­ ½ºÅ°¸¶´Â SQL °Ë»ö ÇÕ´Ï´Ù.NET °ø±ÞÀÚ

ÀÌ »ùÇÿ¡¼­´Â ¿­ (Çʵ忡 ´ë ÇÑ ½ºÅ°¸¶ Á¤º¸°¡ ³ª¿­ ¼Ó¼º) SQL Server NorthwindÀÇ Á÷¿ø Å×ÀÌºí µ¥ÀÌÅͺ£À̽ºÀÔ´Ï´Ù.

SQL¸¦ »ç¿ë ÇÏ´Â °æ¿ì´Â noteÀÔ´Ï´Ù.NET °ø±ÞÀÚ SqlDataReader °³Ã¼ÀÇ GetSchemaTable ¸Þ¼­µå¸¦ »ç¿ë ÇÕ´Ï´Ù.
  1. Visual Studio ½ÃÀÛ ÇÕ´Ï´Ù.NetÀ» ½ÃÀÛ ÇÏ °í´Â »õ Visual C# ¸¸µé±â ÄÜ¼Ö ÀÀ¿ë ÇÁ·Î±×·¥ ÇÁ·ÎÁ§Æ®¸¦ ¸¸µì´Ï´Ù. Class1.cs ±âº»ÀûÀ¸·Î ¸¸µé¾îÁý´Ï´Ù.
  2. Class1¿¡ ´ë ÇÑ ÄÚµå âÀ» ¿±´Ï´Ù. ´ÙÀ½ Äڵ带 ºÙ¿© ³Ö½À´Ï´Ù. ³×ÀÓ ½ºÆäÀ̽º ¼±¾ð À§¿¡ ÄÚµå âÀÇ ¸Ç.
    using System.Data;
    using System.Data.SqlClient;
    					
  3. ÄÚµå â¿¡¼­ ´ÙÀ½ Äڵ带 Main ÇÔ¼ö¿¡ ºÙ¿©³Ö½À´Ï´Ù.
    SqlConnection cn = new SqlConnection();
    SqlCommand cmd = new SqlCommand();
    DataTable schemaTable; 
    SqlDataReader myReader; 
    			 
    //Open a connection to the SQL Server Northwind database.
    cn.ConnectionString = "Data Source=server;User ID=login;
                           Password=password;Initial Catalog=Northwind";
    cn.Open();
    
    //Retrieve records from the Employees table into a DataReader.
    cmd.Connection = cn;
    cmd.CommandText = "SELECT * FROM Employees";
    myReader = cmd.ExecuteReader(CommandBehavior.KeyInfo);
    
    //Retrieve column schema into a DataTable.
    schemaTable = myReader.GetSchemaTable();
    
    //For each field in the table...
    foreach (DataRow myField in schemaTable.Rows){
        //For each property of the field...
        foreach (DataColumn myProperty in schemaTable.Columns) {
    	//Display the field name and value.
    	Console.WriteLine(myProperty.ColumnName + " = " + myField[myProperty].ToString());
        }
        Console.WriteLine();
    
        //Pause.
        Console.ReadLine();
    }
    
    //Always close the DataReader and connection.
    myReader.Close();
    cn.Close();
    					
  4. SQL Server Á¦´ë·Î ¿¬°á ÇÏ·Á¸é ConnectionString ¼Ó¼ºÀÇ ¸Å°³ º¯¼ö¸¦ ¼öÁ¤ ÇÕ´Ï´Ù. ÄÄÇ»ÅÍÀÔ´Ï´Ù.
  5. F5 ۸¦ ´­·¯ ÇÁ·ÎÁ§Æ®¸¦ ½ÇÇà ÇÏ °í ÄÄÆÄÀÏÇÒ ¼ö ÀÖ½À´Ï´Ù. »õ ¿­À» °¢ ÇʵåÀÇ ¼Ó¼ºÀÌ ÄÜ¼Ö Ã¢¿¡ ³ª¿­ µË´Ï´Ù.
  6. ¸ñ·ÏÀ» ½ºÅ©·ÑÇÏ¿© ÄܼÖÀ» Á¾·á ÇÏ·Á¸é ENTER ۸¦ ´©¸¨´Ï´Ù ÀÀ¿ë ÇÁ·Î±×·¥ ¹× IDE·Î ¹Ýȯ ÇÕ´Ï´Ù.

ÂüÁ¶

DataReader ¹× GetSchemaTable ¸Þ¼­µå¿¡ ´ë ÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº Visual Studio ´ÙÀ½ Ç׸ñÀ» ÂüÁ¶ ÇϽʽÿÀ.NET ¿Â¶óÀÎ µµ¿ò¸»À» ÂüÁ¶ ÇϽʽÿÀ.
Datareader¸¦ »ç¿ë ÇÏ ¿© µ¥ÀÌÅ͸¦ °Ë»ö ÇÕ´Ï´Ù.

IDataReader.GetSchemaTable ¸Þ¼­µå

Âü°í:ÀÌ Ç׸ñ¿¡ ÀÖ´Â ¿­ÀÇ Àüü ¸ñ·ÏÀ» Æ÷ÇÔÀº DataTable¹ÝȯµÈ ÇÕ´Ï´Ù.

OleDbDataReader.GetSchemaTable ¸Þ¼­µå

SqlDataReader.GetSchemaTable ¸Þ¼­µå
OleDbConnection °³Ã¼ÀÇ GetOleDbSchemaTable ¸Þ¼­µå¸¦ »ç¿ë ÇÏ ¿© ½ºÅ°¸¶ Á¤º¸¸¦ °Ë»ö ÇÏ´Â ¹æ¹ý¿¡ ´ë ÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº ¹®¼­ ¹øÈ£¸¦ Ŭ¸¯ ÇÕ´Ï´Ù. ¾Æ·¡ÀÇ Microsoft ±â¼ú ÀÚ·áÀÇ ´ÙÀ½ ¹®¼­¸¦ ÂüÁ¶ ÇÕ´Ï´Ù.
309681 Getoledbschematable°ú Visual C#¸¦ »ç¿ë ÇÏ ¿© ½ºÅ°¸¶ Á¤º¸¸¦ °Ë»ö ÇÏ´Â ¹æ¹ýNET

¼Ó¼º

±â¼ú ÀÚ·á: 310107 - ¸¶Áö¸· °ËÅä: 2012³â 6¿ù 12ÀÏ È­¿äÀÏ - ¼öÁ¤: 1.0
º» ¹®¼­ÀÇ Á¤º¸´Â ´ÙÀ½ÀÇ Á¦Ç°¿¡ Àû¿ëµË´Ï´Ù.
  • Microsoft ADO.NET 1.1
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Ű¿öµå:?
kbdatabase kbhowtomaster kbsqlclient kbsystemdata kbmt KB310107 KbMtko
±â°è ¹ø¿ªµÈ ¹®¼­
Áß¿ä: º» ¹®¼­´Â Àü¹® ¹ø¿ª°¡°¡ ¹ø¿ªÇÑ °ÍÀÌ ¾Æ´Ï¶ó Microsoft ±â°è ¹ø¿ª ¼ÒÇÁÆ®¿þ¾î·Î ¹ø¿ªÇÑ °ÍÀÔ´Ï´Ù. Microsoft´Â ¹ø¿ª°¡°¡ ¹ø¿ªÇÑ ¹®¼­ ¹× ±â°è ¹ø¿ªµÈ ¹®¼­¸¦ ¸ðµÎ Á¦°øÇϹǷΠMicrosoft ±â¼ú ÀÚ·á¿¡ ÀÖ´Â ¸ðµç ¹®¼­¸¦ Çѱ۷ΠÁ¢ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ±â°è ¹ø¿ª ¹®¼­°¡ Ç×»ó ¿Ïº®ÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù. µû¶ó¼­ ±â°è ¹ø¿ª ¹®¼­¿¡´Â ¸¶Ä¡ ¿Ü±¹ÀÎÀÌ Çѱ¹¾î·Î ¸»ÇÒ ¶§ ½Ç¼ö¸¦ ÇÏ´Â °Íó·³ ¾îÈÖ, ±¸¹® ¶Ç´Â ¹®¹ý¿¡ ¿À·ù°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. Microsoft´Â ³»¿ë»óÀÇ ¿À¿ª ¶Ç´Â Microsoft °í°´ÀÌ ÀÌ·¯ÇÑ ¿À¿ªÀ» »ç¿ëÇÔÀ¸·Î½á ¹ß»ýÇÏ´Â ºÎ Á¤È®¼º, ¿À·ù ¶Ç´Â ¼ÕÇØ¿¡ ´ëÇØ Ã¥ÀÓÀ» ÁöÁö ¾Ê½À´Ï´Ù. Microsoft´Â ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ ±â°è ¹ø¿ª ¼ÒÇÁÆ®¿þ¾î¸¦ ÀÚÁÖ ¾÷µ¥ÀÌÆ®Çϰí ÀÖ½À´Ï´Ù.
ÀÌ ¹®¼­ÀÇ ¿µ¹® ¹öÀü º¸±â:310107

Çǵå¹é º¸³»±â