閲覧総計:&counter();  (本日:&counter(today);  昨日:&counter(yesterday);)

 MS-AccessDBをOleDbでハンドリングするのはASP.NET1.X時代の古い手法であるが、
現在(ASP.NET3.5)においても、シンプルで簡便・確実なMS-AccessDBをハンドリングする
手法であり、まだまだ現役手法であると考える。
 今回はMS-AccessDBをOleDb手法で挿入・更新・抽出・削除する方法を確認したので
備忘を残しておく。  2010/11/14

 ちなみにASP.NET2.0から各種DBのハンドリングは「データソースコントロール」に統
一され、DBがMS-Access、SQL Server、Oracle等である事をユーザが意識しなくて良い
統一コードで記述出来る様に改良されている。
↓「データソース・コントロールでいってみよう(前編)」 06/07/29
http://www.atmarkit.co.jp/fdotnet/vs2005db/vs2005db_06/vs2005db_06_03.html
 ただし、コード記述はFactoryメッソドを使う等多少複雑になるのが短所である。
使用するDBがMS-Accessに固定されている場合にはOleDB手法でDBをハンドリングする
方が確実・効率的と考えた。  2010/11/14

【使用DBテーブル構造】
Accessデータベース名:AccessDB.mdb
テーブル名:得意先テーブル
|~フィールド名|~データ型|~フィールドサイズ|
|得意先ID (主キー)|オートナンバー型|長整数型|
|社名|テキスト型|40|
|担当者名|テキスト型|30|
|電話|テキスト型|24|
~
【目次】項目をクリックするとその記事に飛べます。
#contents
~

*MS-AccessDBへのOleDBでのデータ挿入 [#p3368895]

【稼働画面】
#ref(OleDbInsert.jpg);

【Insert.aspx】
 <%@ Page Language="VB" %>
 <%@ Import Namespace="System.Data.OleDb" %>
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
 <script runat="server">
     Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
         'AccessDBにOleDbで接続
         Using con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\AccessDB.mdb")
             'OleDbでのパラメータ設定はPositional Parameter方式(Values(?, ?, ?))で設定
             Dim cmd As New OleDbCommand("Insert Into [得意先テーブル] ([社名], [担当者名], [電話]) Values(?, ?, ?)", con)
 
             'ParametersコレクションのValueプロパティの省略形記法
             cmd.Parameters.Add(New OleDbParameter("@CompanyName", "フレンドリーソフト"))
             cmd.Parameters.Add(New OleDbParameter("@ContactName", "葛西 秋雄"))
             cmd.Parameters.Add(New OleDbParameter("@Phone", "0480-99-9999"))
  
             'ParametersコレクションのValueプロパティの正式記法
             'cmd.Parameters.Add("@CompanyName", OleDbType.VarWChar, 40)
             'cmd.Parameters("@CompanyName").Value = "フレンドリーソフト"
             'cmd.Parameters.Add("@ContactName", OleDbType.VarWChar, 30)
             'cmd.Parameters("@ContactName").Value = "葛西 秋雄"
             'cmd.Parameters.Add("@Phone", OleDbType.VarWChar, 24)
             'cmd.Parameters("@Phone").Value = "0480-99-9999"
             
             con.Open()
             'クエリの実行(INSERTクエリの場合は結果セットを返さないExecuteNonQuery)
             cmd.ExecuteNonQuery()
            
             '新規挿入したデータのIDを取得する方法
             cmd.CommandText = "Select @@Identity"
             Dim intCustomerID As Integer = cmd.ExecuteScalar()
             Label1.Text = String.Format("得意先ID <b>{0}</b> を追加しました.", intCustomerID.ToString())
         End Using
     End Sub
 </script>
 
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head runat="server">
     <title></title>
 </head>
 <body>
     <form id="form1" runat="server">
     <div>
     OleDbでデータInsert(挿入)処理  10/11/13<br />
         <br />
         参考ページ:<a href="http://asp35.com/adoAccess/Chapter1/ch1-06.aspx">SQLのInsertにパラメータを指定してレコードを追加するサンプル</a><br />
         <br />
         <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="データ挿入" />
         <br />
         <br />
         <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
         <br />
     </div>
     </form>
 </body>
 </html>

【参考にしたページ】
↓SQLのInsertにパラメータを指定してレコードを追加するサンプル
http://asp35.com/adoAccess/Chapter1/ch1-06.aspx
- a -- [[a]] &new{2015-12-02 (水) 15:25:14};

#comment_nospam
#vote(参考になった[3],ふつう[1],参考にならなかった[0])
~
~
*MS-AccessDBへのOleDBでのデータ更新 [#p3368895]

【稼働画面】
#ref(OleDbUpdate.jpg);

【Update.aspx】
 <%@ Page Language="VB" %>
 <%@ Import Namespace="System.Data.OleDb" %>
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
 <script runat="server">
     Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
         'AccessDBにOleDbで接続
         Using con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\AccessDB.mdb")
             'OleDbでのパラメータ設定はPositional Parameter方式(Set [電話] = ? Where [社名] = ?)で設定
             Dim cmd As New OleDbCommand("Update [得意先テーブル] Set [電話] = ? Where [社名] = ?", con)
 
             'ParametersコレクションのValueプロパティの省略形記法
             cmd.Parameters.Add(New OleDbParameter("@Phone", "0480-88-8888"))
             cmd.Parameters.Add(New OleDbParameter("@CompanyName", "フレンドリーソフト"))
  
             'ParametersコレクションのValueプロパティの正式記法
             'cmd.Parameters.Add("@Phone", OleDbType.VarWChar, 24)
             'cmd.Parameters("@Phone").Value = "0480-99-9999"
             'cmd.Parameters.Add("@CompanyName", OleDbType.VarWChar, 40)
             'cmd.Parameters("@CompanyName").Value = "フレンドリーソフト"
             
             con.Open()
             'クエリの実行(Updateクエリの場合は結果セットを返さないExecuteNonQuery)
             Dim intUpdateCount As Integer = cmd.ExecuteNonQuery()
             Label1.Text = String.Format("<b>{0}</b> 件の得意先を更新しました.", intUpdateCount.ToString())
         End Using
     End Sub
 </script>
 
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head runat="server">
     <title></title>
 </head>
 <body>
     <form id="form1" runat="server">
     <div>
     OleDbでデータ更新(Update)処理  10/11/13<br />
         <br />
         参考ページ:<a href="http://asp35.com/adoAccess/Chapter1/ch1-07.aspx">SQLのUpdateにパラメータを指定してレコードを更新するサンプル</a><br />
         <br />
         <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="データ更新" />
         <br />
         <br />
         <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
         <br />
     </div>
     </form>
 </body>
 </html>

【参考にしたページ】
↓SQLのUpdateにパラメータを指定してレコードを更新するサンプル
http://asp35.com/adoAccess/Chapter1/ch1-07.aspx
- SSS -- [[A]] &new{2014-08-25 (月) 08:55:53};

#comment_nospam
#vote(参考になった[1],ふつう[1],参考にならなかった[0])
~
~

*MS-AccessDBへのOleDBでのデータ抽出 [#zc485e0a]

【稼働画面】
#ref(OleDbSelect.jpg);

【Select.aspx】
 <%@ Page Language="VB" %>
 <%@ Import Namespace="System.Data.OleDb" %>
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
 <script runat="server">
     Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
         'AccessDBにOleDbで接続
         Using con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\AccessDB.mdb")
             'OleDbでのパラメータ設定はPositional Parameter方式(Where [社名] = ?)で設定
             Dim cmd As New OleDbCommand("Select * From [得意先テーブル] Where [社名] = ?", con)
 
             'ParametersコレクションのValueプロパティの省略形記法
             cmd.Parameters.Add(New OleDbParameter("@CompanyName", "フレンドリーソフト"))
  
             'ParametersコレクションのValueプロパティの正式記法
             'cmd.Parameters.Add("@CompanyName", OleDbType.VarWChar, 40)
             'cmd.Parameters("@CompanyName").Value = "フレンドリーソフト"
             
             con.Open()
             'クエリの実行(Selectクエリの場合は結果セットを返すExecuteReader)
             Dim dr As OleDbDataReader = cmd.ExecuteReader()
             Do While dr.Read()
                 'Label1.Text &= dr.GetValue(0) & ":" & dr.GetValue(1) & "<br />"
                 Label1.Text &= dr("得意先ID") & ":" & dr("社名") & " " & dr("担当者名") & "<br />"
             Loop
             dr.Close()
         End Using
     End Sub
 </script>
 
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head runat="server">
     <title></title>
 </head>
 <body>
     <form id="form1" runat="server">
     <div>
     OleDbでデータ抽出(Select)処理  10/11/13<br />
         <br />
         参考ページ:<a href="http://asp35.com/adoAccess/Chapter1/ch1-09.aspx">SQLのSelectにパラメータを指定してレコードを抽出するサンプル</a><br />
         <br />
         <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="データ抽出" />
         <br />
         <br />
         <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
         <br />
     </div>
     </form>
 </body>
 </html>

【参考にしたページ】
↓SQLのSelectにパラメータを指定してレコードを抽出するサンプル
http://asp35.com/adoAccess/Chapter1/ch1-09.aspx

#comment_nospam
#vote(参考になった[2],ふつう[0],参考にならなかった[0])
~
~
*MS-AccessDBへのOleDBでのデータ削除 [#f56409a4]

【稼働画面】
#ref(OleDbDelete.jpg);

【Delete.aspx】
 <%@ Page Language="VB" %>
 <%@ Import Namespace="System.Data.OleDb" %>
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
 <script runat="server">
     Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
         'AccessDBにOleDbで接続
         Using con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\AccessDB.mdb")
             'OleDbでのパラメータ設定はPositional Parameter方式(Where [社名] = ?)で設定
             Dim cmd As New OleDbCommand("Delete * From [得意先テーブル] Where [社名] = ?", con)
 
             'ParametersコレクションのValueプロパティの省略形記法
             cmd.Parameters.Add(New OleDbParameter("@CompanyName", "フレンドリーソフト"))
  
             'ParametersコレクションのValueプロパティの正式記法
             'cmd.Parameters.Add("@CompanyName", OleDbType.VarWChar, 40)
             'cmd.Parameters("@CompanyName").Value = "フレンドリーソフト"
             
             con.Open()
             'クエリの実行(Deleteクエリの場合は結果セットを返さないExecuteNonQuery)
             Dim intDeleteCount As Integer = cmd.ExecuteNonQuery()
             Label1.Text = String.Format("<b>{0}</b> 件の得意先を削除しました.", intDeleteCount.ToString())
         End Using
     End Sub
 </script>
 
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head runat="server">
     <title></title>
 </head>
 <body>
     <form id="form1" runat="server">
     <div>
     OleDbでデータ削除(Delete)処理  10/11/14<br />
         <br />
         参考ページ:<a href="http://asp35.com/adoAccess/Chapter1/ch1-08.aspx">SQLのDeleteにパラメータを指定してレコードを削除するサンプル</a><br />
         <br />
         <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="データ削除" />
         <br />
         <br />
         <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
         <br />
     </div>
     </form>
 </body>
 </html>

【参考にしたページ】
↓SQLのDeleteにパラメータを指定してレコードを削除するサンプル
http://asp35.com/adoAccess/Chapter1/ch1-08.aspx
- 20160109 junda http://www.coach-factory-outlet-online.us.com http://www.coachfactoryoutletus.in.net http://www.coachoutletonlinespick.org http://www.top-coachoutletstore.org http://www.christianlouboutinoff.us http://www.jordan3.net http://www.saclongchamp-solde.fr http://www.michaelkors-mkoutlet.in.net http://www.louisvuittonuk.me.uk http://www.get-coachoutletonline.org http://www.snapbacks-wholesale.us http://coach.outletmalls.us.com http://www.katespadeuk.me.uk http://www.louisvuittonoutlets.name http://www.nikerosheruns.me.uk http://www.mk-michaelkorsoutletonline.com http://www.tommyhilfiger.in.net http://www.toryburchoutlet-sale.in.net http://www.mcmoutlet.us http://www.tomsoutletstore.in.net http://www.pradaoutlet.name http://www.hollisters.cc http://www.cheaplouisvuittonhandbags.org http://www.gucci-outlet.org http://www.ralph-lauren.me.uk http://www.coachfactory--outletonline.com http://burberryoutlet.outletmalls.us.com http://www.truereligion-outlet.net.co http://www.moncler-jackets.org http://www.edhardyukclothing.me.uk http://canadagoose.outletmalls.us.com http://www.vipmichaelkors-outletonline.com http://www.quality-outlet.com http://www.oakleysunglassesfake.in.net http://www.michael-kors-handbags.uk http://www.raybansoutlet.in.net http://ugg.outletmalls.us.com http://www.outlet-toms.cc http://www.jordan8.net http://www.montblanc-pens.name http://www.kate-spadeoutlet.com.co http://www.airjordan-uk.org.uk http://www.hermesuk.org.uk http://louisvuitton.outletmalls.us.com http://michaelkors.outletmalls.us.com http://www.canadagoosejackets.org.uk http://www.nikesb.uk http://www.cheapjordansshoes.in.net http://www.cheap-uggsonsale.in.net http://www.chaussure-louboutin.fr http://www.timberlanduk.me.uk http://www.jordan6.net http://northface.outletmalls.us.com http://www.ralph-lauren-pas-cher.fr http://www.louis-vuitton-outlet.us.com http://www.louisvuitton-borse.it http://www.canadagooseuk.me.uk http://www.adidas-shoes.me.uk http://www.mulberry-bags.org.uk http://www.longchampoutlet.net.co http://www.nikeblazers.me.uk http://jordan.outletmalls.us.com http://www.edhardy-outlet.name http://www.michael-korshandbags.net.co http://www.michaelkorsukbag.co.uk http://www.ugg-sale.in.net http://www.coachcanadaoutlet.ca http://www.michaelkorshandbags.cc http://www.ugg-boots-australia.com http://www.nike-blazerlow.fr http://www.longchamphandbags.com.co http://www.nikeuk.me.uk http://www.mymichaelkorssoutlets.org http://www.airmax95.org.uk http://www.poloralphlauren.net.co http://www.gucci-borse.it http://www.adidasgazelle.me.uk http://www.coachoutlet-storeonline.us.com http://www.cheapjordans.com.co http://www.adidasuk.org.uk http://www.cheap-tomsoutlet.us http://nike.outletmalls.us.com http://www.michaelkors-handbag.me.uk http://www.michaelkorsoutletvip.in.net http://www.hermesbelt.in.net http://www.nikecortez.com.co http://www.michael-korsuk.me.uk http://www.louisvuitton-outletstores.org http://www.airjordan-pascher.fr http://www.coach-factoryoutlet.com.co http://www.coach-factoryoutlet.eu.com http://www.chaussurelouboutin-pascher.fr http://www.pandoracharms.com.co http://www.coachoutlet-storeonline.in.net http://www.monclerjacketsoutlet.us.com http://www.canadagooseoutlet.cc http://www.michael--korsoutlet.us.com http://www.rolex-replicawatches.com.co http://www.airforce1-nike.fr http://www.sac-longchamppliage.fr http://www.jordan-femmepascher.fr http://www.michaelkorsoutletforus.com http://www.sunglass-outlet.us http://www.michaelkorsoutletoff.in.net http://burberry.outletmalls.us.com http://www.jordan13.org http://www.soccer-jerseys.us.com http://www.coach-factoryoutlet.cc http://www.ugg-boots-store.com http://www.nikehuarache.com.co http://www.instylermax.in.net http://www.pandorajewelryoutlet.name http://tiffany.outletmalls.us.com http://www.ghdhairstraighteners.com.co http://www.adidassuperstar.co.uk http://www.cheapuggs-boots.in.net http://www.basketballshoes.net.co http://www.new-balanceoutlet.us http://www.katespadeoutletsale.in.net http://www.mcmhandbags.name http://www.juicy-couture.us http://www.fitflopssaleclearance.com http://www.michaelkors-outletsale.com http://www.louis-vuittonhandbags.us http://www.michaelkors-outlet-handbags.com http://www.cheapwholesaleuggboots.com http://www.christianlouboutinsell.net http://www.tomswedges.in.net http://www.nike-airmax.org.uk http://www.nikestoreuk.me.uk http://www.runningshoes.com.co http://www.truereligion-outlet.in.net http://www.ghdstraighteners.me.uk http://www.louboutinshoes.cc http://www.louisvuitton-sac-pascher.fr http://www.nike-tn-pascher.fr http://www.saclongchamp--pascher.fr http://www.guccioutlet.com.so http://www.raybansunglassesdeals.com.co http://www.mizunorunningshoes.in.net http://christianlouboutin.outletmalls.us.com http://www.nikefreeruns.uk http://www.guccioutlet.net.co http://www.authenticlouisvuittonhandbags.net http://www.adidasshoes.name http://www.true-religionjeans.net.co http://sunglasses.outletmalls.us.com http://www.nikerosherunwomen.me.uk http://www.jordan4.net http://www.christianlouboutinuk.me.uk http://www.nike-airmax90.me.uk http://uggs.uggaustralia.qc.com http://www.michaelkors-outletonlines.in.net http://www.fitflopuk.me.uk http://www.niketrainers.com.co http://www.adidas-trainers.me.uk -- [[xiaojun]] &new{2016-01-08 (金) 18:04:24};

#comment_nospam
#vote(参考になった[1],ふつう[0],参考にならなかった[0])


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS