{"id":1053,"date":"2012-10-11T12:02:50","date_gmt":"2012-10-11T03:02:50","guid":{"rendered":"http:\/\/auctionpro.co.kr\/?p=1053"},"modified":"2023-02-22T13:24:50","modified_gmt":"2023-02-22T04:24:50","slug":"oledbdataadapter-%ed%81%b4%eb%9e%98%ec%8a%a4","status":"publish","type":"post","link":"https:\/\/www.auctionpro.co.kr\/?p=1053","title":{"rendered":"SqlDataAdapter \uc0dd\uc131\uc790 \uc0ac\uc6a9\ubc95"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Overview :  SqlDataAdapter \uc815\uc758 \ud6c4 \uc0ac\uc6a9 \ubc29\ubc95<br>\ub9c1\ud06c : https:\/\/learn.microsoft.com\/ko-kr\/dotnet\/api\/system.data.sqlclient.sqldataadapter.-ctor?view=dotnet-plat-ext-7.0 \ub97c \uc5b4\ub5bb\uac8c \uc0ac\uc6a9\ud558\ub294\uc9c0  \ud55c\ucc38\ub9cc\uc5d0 \ucc3e\uc74c<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e4\uc74c \uc608\uc81c\uc5d0\uc11c\ub294&nbsp;<a href=\"http:\/\/msdn.microsoft.com\/ko-kr\/library\/system.data.oledb.oledbcommand(v=vs.80).aspx\">OleDbCommand<\/a>&nbsp;,&nbsp;<strong>OleDbDataAdapter<\/strong>&nbsp;\ubc0f&nbsp;<a href=\"http:\/\/msdn.microsoft.com\/ko-kr\/library\/system.data.oledb.oledbconnection(v=vs.80).aspx\">OleDbConnection<\/a>\uc744 \uc0ac\uc6a9\ud558\uc5ec Access \ub370\uc774\ud130 \uc18c\uc2a4\uc5d0\uc11c \ub808\ucf54\ub4dc\ub97c \uc120\ud0dd\ud558\uace0 \uc120\ud0dd\ud55c \ud589\uc73c\ub85c<strong>DataSet<\/strong>\uc744 \ucc44\uc6c1\ub2c8\ub2e4. <br>\uadf8\ub7ec\uba74 \ucc44\uc6cc\uc9c4&nbsp;<strong>DataSet<\/strong>\uc774 \ubc18\ud658\ub429\ub2c8\ub2e4. \uc774\ub97c \uc218\ud589\ud558\uae30 \uc704\ud574 \ucd08\uae30\ud654\ub41c&nbsp;<strong>DataSet<\/strong>, \uc5f0\uacb0 \ubb38\uc790\uc5f4 \ubc0f SQL SELECT \ubb38\uc778 \ucffc\ub9ac \ubb38\uc790\uc5f4\uc5d0 \uba54\uc11c\ub4dc\uac00 \uc804\ub2ec\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>SqlParameter \ud074\ub798\uc2a4\ub294 SqlCommand \uac1d\uccb4\uc5d0 \ud30c\ub77c\ubbf8\ud130\uac00 \ud544\uc694\ud55c \uacbd\uc6b0 \uc0ac\uc6a9\ub418\ub294 \ud074\ub798\uc2a4\uc774\ub2e4.<\/li>\n\n\n\n<li>\ubb38\uc790\uc5f4\uc744 (+) \uc5f0\uc0b0\uc790\ub85c \uc5f0\uacb0\ud558\uc5ec SQL\ubb38\uc7a5\uc744 \uad6c\uc131\ud558\ub294 \uac83\uc740 SQL Injection (SQL\ubb38\uc744 \ud574\ud0b9) \ub4f1\uc758 \ubb38\uc81c\ub97c \ubc1c\uc0dd\uc2dc\ud0ac \uc218 \uc788\uc73c\ubbc0\ub85c,<\/li>\n\n\n\n<li>\ud30c\ub77c\ubbf8\ud130\uac00 \uc788\ub294 \uacbd\uc6b0 SqlParameter\ub97c \uc774\uc6a9\ud558\ub294 \uac83\uc774 \ubc14\ub78c\uc9c1\ud558\ub2e4.<\/li>\n\n\n\n<li>SqlParameter\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc11c\ub294 \uc6b0\uc120 TSQL\ubb38 \uc548 \ubcc0\uc218\ub97c \ub123\uace0 \uc2f6\uc740 \uacf3\uc5d0 @ \ub85c \uc2dc\uc791\ub418\ub294 \ud30c\ub77c\ubbf8\ud130 (\uc608: @name )\ub97c \ub123\uc5b4 \uc900\ub2e4.<\/li>\n\n\n\n<li>\uadf8 \ub2e4\uc74c SqlParamter \uac1d\uccb4\ub97c \uc0dd\uc131\ud558\uc5ec \ud30c\ub77c\ubbf8\ud130\uba85 \ubc0f \ud0c0\uc785, \uc0ac\uc774\uc988 \uadf8\ub9ac\uace0 \uac12\uc744 \ub123\uc5b4 \uc900\ub2e4.<\/li>\n\n\n\n<li>\ub9c8\uc9c0\ub9c9\uc73c\ub85c \uc774 SqlParameter \uac1d\uccb4\ub97c SqlCommand\uac1d\uccb4\uc758 Parameters \uceec\ub809\uc158 \uc18d\uc131\uc5d0 \ucd94\uac00\ud574 \uc8fc\uba74 \ub41c\ub2e4.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\uc624\ubc84\ub85c\ub4dc<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>SqlDataAdapter()<br>SqlDataAdapter \ud074\ub798\uc2a4\uc758 \uc0c8 \uc778\uc2a4\ud134\uc2a4\ub97c \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>SqlDataAdapter(SqlCommand)<br>SqlDataAdapter \uc18d\uc131\uc73c\ub85c\uc11c \uc9c0\uc815\ub41c SqlCommand\ub97c \uc0ac\uc6a9\ud558\uc5ec SelectCommand \ud074\ub798\uc2a4\uc758 \uc0c8 \uc778\uc2a4\ud134\uc2a4\ub97c \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>SqlDataAdapter(String, SqlConnection)<br>SqlDataAdapter \ubc0f SelectCommand \uac1c\uccb4\ub97c \uc0ac\uc6a9\ud558\uc5ec SqlConnection \ud074\ub798\uc2a4\uc758 \uc0c8 \uc778\uc2a4\ud134\uc2a4\ub97c \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>SqlDataAdapter(String, String)<br>SqlDataAdapter\uc640 \uc5f0\uacb0 \ubb38\uc790\uc5f4\uc744 \uc0ac\uc6a9\ud558\uc5ec SelectCommand \ud074\ub798\uc2a4\uc758 \uc0c8 \uc778\uc2a4\ud134\uc2a4\ub97c \ucd08\uae30\ud654\ud569\ub2c8\ub2e4.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">1.DB <\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ub9c1\ud06c :  <a href=\"https:\/\/github.com\/iammukeshm\/RepositoryPatternWithCachingAndHangfire\/blob\/master\/SampleCustomers.sql\">https:\/\/github.com\/iammukeshm\/RepositoryPatternWithCachingAndHangfire\/blob\/master\/SampleCustomers.sql<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2023\/01\/image-6.png\"><img loading=\"lazy\" decoding=\"async\" width=\"388\" height=\"213\" src=\"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2023\/01\/image-6.png\" alt=\"\" class=\"wp-image-8219\" srcset=\"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2023\/01\/image-6.png 388w, https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2023\/01\/image-6-300x165.png 300w\" sizes=\"auto, (max-width: 388px) 100vw, 388px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">2.WebService<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2023\/02\/image-25.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"502\" src=\"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2023\/02\/image-25-1024x502.png\" alt=\"\" class=\"wp-image-8458\" srcset=\"https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2023\/02\/image-25-1024x502.png 1024w, https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2023\/02\/image-25-300x147.png 300w, https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2023\/02\/image-25-768x376.png 768w, https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2023\/02\/image-25-660x324.png 660w, https:\/\/www.auctionpro.co.kr\/wp-content\/uploads\/2023\/02\/image-25.png 1371w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">3.SqlDataAdapter \uc0dd\uc131\uc790 <\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\ubbf8\ub9ac SelectCommand, InsertCommand, UpdateCommand, DeleteCommand \uc0dd\uc131 <\/h3>\n\n\n\n<h2 class=\"wp-block-heading\">import<\/h2>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:c# decode:true \">using System.Data;\nusing System.Data.SqlClient;<\/pre><\/div>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:c# decode:true \" title=\"SqlDataAdapter() \uc0dd\uc131\uc790\">        \/\/******************************************************************\n        \/\/ \ud568\uc218\uba85    : Function\n        \/\/ \uc791\uc131\uc790    : \ud64d\uae38\ub3d9\n        \/\/ \uc791\uc131\uc77c    : 2023-02-08\n        \/\/ \uc124\uba85      :  \ubbf8\ub9ac \uc0dd\uc131\uc790(SqlDataAdapter) \uc800\uc7a5\ud504\ub85c\uc2dc\uc800 \ud568\uc218\ub97c \ub9cc\ub4e4\uace0 \ub098\uc911\uc5d0\n        \/\/               Parameters[0].Value= \uac12 \uc73c\ub85c \uc7ac\uc815\uc758 \n        \/\/ \ub9ac\ud134\uac12    :\n        \/\/ \ub9e4\uac1c\ubcc0\uc218  :\n        \/\/ Remark    :\n        \/\/ \uc774\ub825\uc0ac\ud56d  : \n        \/\/*****************************************************************\n        \/\/1.public static SqlDataAdapter CreateSqlDataAdapter(SqlConnection connection)\n        \/\/2.public static SqlDataAdapter CreateSqlDataAdapter(SqlCommand selectCommand,SqlConnection connection)\n        \/\/3.public static SqlDataAdapter CreateSqlDataAdapter(string commandText,S qlConnection connection)\n        \/\/4.public static SqlDataAdapter CreateSqlDataAdapter(string commandText,string connectionString)\n        public static SqlDataAdapter CreateSqlDataAdapter(SqlConnection connection)\n        {\n            \/\/1. SqlDataAdapter adapter = new SqlDataAdapter();\n            SqlDataAdapter adapter = new SqlDataAdapter();\n\n            \/\/2.SqlDataAdapter adapter = new SqlDataAdapter(selectCommand);\n            \/\/3.SqlDataAdapter adapter = new SqlDataAdapter(commandText, connection);\n            \/\/4.SqlDataAdapter adapter = new SqlDataAdapter(commandText, connectionString);\n            \/\/  SqlConnection connection = adapter.SelectCommand.Connection;\n\n            adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;\n\n            \/\/1.SqlDataAdapter adapter = new SqlDataAdapter(); \uc815\uc758 \ud6c4 \uc544\ub798 \ubb38\uc7a5\uc801\uc6a9\n            adapter.SelectCommand = new SqlCommand(\"SELECT * FROM [Bank].[dbo].[Customers] where FirstName like @FirstName\", connection);\n            \/\/\/\/\/\/ \ubbf8\ub9ac \uc0dd\uc131\uc790\uc790\uc5d0 \uc0dd\uc131\ud55c\ub2e4\uc74c Parameters[\uc21c\ubc88\uc73c\ub85c] \uac12\ub9cc \ub118\uae40.\n            adapter.InsertCommand = new SqlCommand(\"INSERT INTO Customers (FirstName, LastName, Contact,Email,DateOfBirth) VALUES (@FirstName, @LastName, @Contact, @Email, @DateOfBirth)\", connection);\n            adapter.UpdateCommand = new SqlCommand(\"UPDATE Customers SET FirstName = @FirstName, LastName = @LastName, Contact = @Contact, Email = @Email, DateOfBirth = @DateOfBirth WHERE IDX = @IDX\", connection);\n            adapter.DeleteCommand = new SqlCommand(\"DELETE FROM Customers WHERE IDX = @IDX\", connection);\n\n            adapter.SelectCommand.Parameters.Add(\"@FirstName\", SqlDbType.VarChar, 50, \"FirstName\");\/\/ .Value=\"%\" + FirstName + \"%\";\n\n            adapter.InsertCommand.Parameters.Add(\"@FirstName\", SqlDbType.VarChar, 50, \"FirstName\");\n            adapter.InsertCommand.Parameters.Add(\"@LastName\", SqlDbType.VarChar, 50, \"LastName\");\n            adapter.InsertCommand.Parameters.Add(\"@Contact\", SqlDbType.VarChar, 50, \"Contact\");\n            adapter.InsertCommand.Parameters.Add(\"@Email\", SqlDbType.VarChar, 50, \"Email\");\n            adapter.InsertCommand.Parameters.Add(\"@DateOfBirth\", SqlDbType.VarChar, 50, \"DateOfBirth\");\n\n            adapter.UpdateCommand.Parameters.Add(\"@FirstName\", SqlDbType.VarChar, 50, \"FirstName\");\n            adapter.UpdateCommand.Parameters.Add(\"@LastName\", SqlDbType.VarChar, 50, \"LastName\");\n            adapter.UpdateCommand.Parameters.Add(\"@Contact\", SqlDbType.VarChar, 50, \"Contact\");\n            adapter.UpdateCommand.Parameters.Add(\"@Email\", SqlDbType.VarChar, 50, \"Email\");\n            adapter.UpdateCommand.Parameters.Add(\"@DateOfBirth\", SqlDbType.VarChar, 50, \"DateOfBirth\");\n            adapter.UpdateCommand.Parameters.Add(\"@IDX\", SqlDbType.Int, 32, \"IDX\").SourceVersion = DataRowVersion.Original;\n\n            adapter.DeleteCommand.Parameters.Add(\"@IDX\", SqlDbType.Int,32,\"IDX\").SourceVersion = DataRowVersion.Original;\n\n            return adapter;\n        }\n    }\n\n}<\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">4. \ud638\ucd9c<\/h2>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:c# decode:true \">using System.Web.Services;\nusing System.Data;\nusing System.Data.SqlClient;\n\n\nnamespace WebService1\n{\n    public class Service1 : System.Web.Services.WebService\n    {\n        [WebMethod()]\n        public DataSet GetTest()\n        {\n            DataSet ds = new DataSet();\n\n            string connectionString = \"Server=SQLOLEDB.1;Password=*******;Integrated Security=SSPI;User ID=******;Initial Catalog=Bank;Data Source=*****\";\n            SqlConnection conn = new SqlConnection(connectionString);\n\n            SqlDataAdapter adapter = Function.CreateSqlDataAdapter(conn);\n\n            conn.Open();\n\n            adapter.InsertCommand.Parameters[0].Value = \"First10\";\n            adapter.InsertCommand.Parameters[1].Value = \"Last\";\n            adapter.InsertCommand.Parameters[2].Value = \"Con\";\n            adapter.InsertCommand.Parameters[3].Value = \"Email@Email.com\";\n            adapter.InsertCommand.Parameters[4].Value = \"9\/30\/1997\";\n            adapter.InsertCommand.ExecuteNonQuery();\n\n            adapter.UpdateCommand.Parameters[0].Value = \"First3\";\n            adapter.UpdateCommand.Parameters[1].Value = \"Last3\";\n            adapter.UpdateCommand.Parameters[2].Value = \"Con3\";\n            adapter.UpdateCommand.Parameters[3].Value = \"Email3@Email.com\";\n            adapter.UpdateCommand.Parameters[4].Value = \"3\/30\/1997\";\n            adapter.UpdateCommand.Parameters[5].Value = 1001;\n            adapter.UpdateCommand.ExecuteNonQuery();\n\n            adapter.DeleteCommand.Parameters[0].Value = 1000;\n            adapter.DeleteCommand.ExecuteNonQuery();\n\n            conn.Close();\n\n            \/\/ *****SelectCommand \uc740 conn.Open(); conn.Close(); \uac00 \uc5c6\uc5b4\ub3c4 \uc790\ub3d9\uc73c\ub85c \uc5f4\uace0 \ub2eb\uc74c*****\n            adapter.SelectCommand.Parameters[0].Value = \"%Fraser%\";\n\n            adapter.Fill(ds);\n\n            return  ds;\n         }\n     }\n}<\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\ube44\uace0 Sample02<\/h2>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:tsql decode:true \">using (SqlConnection connection = new SqlConnection(connectionString)) \n{    \n    int employeeID = findEmployeeID();    \n    try    \n    {\n        connection.Open();\n        SqlCommand command = new SqlCommand(\"UpdateEmployeeTable\", connection);\n        command.CommandType = CommandType.StoredProcedure;\n        command.Parameters.Add(new SqlParameter(\"@EmployeeID\", employeeID));\n        command.CommandTimeout = 5;\n\n        command.ExecuteNonQuery();    \n    } \n    catch (Exception) \n    { \n        \/*Handle error*\/ \n    }\n}<\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>Overview : SqlDataAdapter \uc815\uc758 \ud6c4 \uc0ac\uc6a9 \ubc29\ubc95\ub9c1\ud06c : https:\/\/learn.microsoft.com\/ko-kr\/dotnet\/api\/system.data.sqlclient.sqldataadapter.-ctor?view=dotnet-plat-ext-7.0 \ub97c \uc5b4\ub5bb\uac8c \uc0ac\uc6a9\ud558\ub294\uc9c0 \ud55c\ucc38\ub9cc\uc5d0 \ucc3e\uc74c \ub2e4\uc74c \uc608\uc81c\uc5d0\uc11c\ub294&nbsp;OleDbCommand&nbsp;,&nbsp;OleDbDataAdapter&nbsp;\ubc0f&nbsp;OleDbConnection\uc744 \uc0ac\uc6a9\ud558\uc5ec Access \ub370\uc774\ud130 \uc18c\uc2a4\uc5d0\uc11c \ub808\ucf54\ub4dc\ub97c \uc120\ud0dd\ud558\uace0 \uc120\ud0dd\ud55c \ud589\uc73c\ub85cDataSet\uc744 \ucc44\uc6c1\ub2c8\ub2e4. <a class=\"mh-excerpt-more\" href=\"https:\/\/www.auctionpro.co.kr\/?p=1053\" title=\"SqlDataAdapter \uc0dd\uc131\uc790 \uc0ac\uc6a9\ubc95\">[&#8230;]<\/a><\/p>\n<\/div>","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[237],"tags":[],"class_list":["post-1053","post","type-post","status-publish","format-standard","hentry","category-memory-cache"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/1053","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1053"}],"version-history":[{"count":0,"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/1053\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1053"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1053"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1053"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}