- PR -

データの抽出について

投稿者投稿内容
kimi
会議室デビュー日: 2003/07/24
投稿数: 7
投稿日時: 2003-07-24 11:45
初めて投稿します。m(__)m

ASP.NETでWebアプリケーションを作っています。
DataGridを用いて表示したレコードから、任意の1件を選択すると
そのレコードの詳細を、別のフォームのラベルに代入して表示させたいと思っています。
一応、Session("MI") = Request.QueryString("ID")で
DataGridの選択した値を持ってくるのは理解できましたが、
その後どうしたらいいか分かりません。

基本的なことでしょうが、よろしくご教授ください。
NYRL
ベテラン
会議室デビュー日: 2003/07/14
投稿数: 90
投稿日時: 2003-07-24 14:20
@ITのこの辺
http://www.atmarkit.co.jp/fdotnet/aspnet/aspnet07/aspnet07_01.html

に詳しく色々書いてありますが
ラベルのtextに代入すればできます。

@ITの連載を読めば基本はつかめると思うので頑張ってください。
kimi
会議室デビュー日: 2003/07/24
投稿数: 7
投稿日時: 2003-07-24 16:22
NYRLさん、ご返答ありがとうございます。
別のフォームから持ってきた値はそのまま表示できました。

その後、その値を条件にしてレコードを抽出する場合ですが

Session("MI") = Request.QueryString("Goods_ID")

Dim strSqlSelect As String = "Select * From Goods_List Where Goods_ID=?"
Dim con As New OleDb.OleDbConnection(ConfigurationSettings.AppSettings("conStringAccNw"))
Dim cmd As New OleDb.OleDbCommand(strSqlSelect, con)

cmd.Parameters.Add("@Goods_ID", OleDb.OleDbType.Integer, 10)
cmd.Parameters("@Goods_ID").Value = Session("MI")

con.Open()
Dim dr As OleDb.OleDbDataReader = cmd.ExecuteReader()
If dr.Read() Then
Me.GoodsID.Text = dr("Goods_ID")
Me.GoodsName.Text = dr("Goods_Name")
  End If
dr.Close()
con.Close()
End Sub

というコードでいいのでしょうか?

申し訳ないですが、また宜しくお願いします。m(_ _)m

NYRL
ベテラン
会議室デビュー日: 2003/07/14
投稿数: 90
投稿日時: 2003-07-24 17:07
確認としてこのコードは動かしてみましたか?

あと
Option Explit On
Option Strict On
にはしていますか?

手元にOracle環境が無いので動かしてないのですが

代入するところで型が違うと言われそうな気がするところが何ヶ所かあります。

cmd.Parameters("@Goods_ID").Value = Session("MI")
Me.GoodsID.Text = dr("Goods_ID")
Me.GoodsName.Text = dr("Goods_Name")
は型変換でエラーが出そうです。

MSDNのこの辺
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemdataoledboledbdatareadermemberstopic.asp

のサンプルを読むとやりたいことはできるかも・・・

kimi
会議室デビュー日: 2003/07/24
投稿数: 7
投稿日時: 2003-07-24 17:31
動かしてみましたところ↓のエラーが表示されました。

System.InvalidOperationException: ConnectionString プロパティは初期化されていません。

ConnectionString プロパティの初期化というのがヘルプで見ても
ちょっとよく分からなかったのですが・・・

それとOption Explit On 、Option Strict On ですが
これはネームスペースの前に書けばいいでしょうか?


Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-07-25 08:50
引用:

kimiさんの書き込み (2003-07-24 17:31) より:

System.InvalidOperationException: ConnectionString プロパティは初期化されていません。

ConnectionString プロパティの初期化というのがヘルプで見ても
ちょっとよく分からなかったのですが・・・


 オラクルの方のマニュアルをみましょう。

 簡単には、、、
1.ダミーのWindows/Webアプリケーションを作成する
2.デザイナで、「データ」ツールの「OleDbDataAdapter」をフォームにドラッグ
3.アダプタ構成ウイザードを、ドライバを選び直して進める
4.構成が終わったらコードを表示する
5.Regionでたたまれている中からConnectionStringの設定を探す
6.オラクルのODBCのマニュアルをみて、.NET用の設定を追加する
7.この値をコピーする
NYRL
ベテラン
会議室デビュー日: 2003/07/14
投稿数: 90
投稿日時: 2003-07-25 09:28
Option Explit On
Option Strict On
はコードビハインドなら
usingの後ろでnamespaceの前に書きます。
ASP.NET埋め込みだとやったことないですが
先頭行のstrict属性とexplit属性をtrueにすることでできます。

このへんも含めて色々と基本的な事から悩んでいるみたいなので

解説:実例で学ぶASP.NETプログラミング
連載  プログラミングASP.NET
を見ながらやっていったほうが良いかもしれません。
この連載全部読むとかなり色々できるようになりますよ

kimi
会議室デビュー日: 2003/07/24
投稿数: 7
投稿日時: 2003-07-25 11:09
NYRLさん、Jittaさんありがとうございました。

まだ、ASP.NETを始めて少ししか経っていないので、NYRLさんのおっしゃるように
基本的なことがまだまだ理解していないことが多いです。
ちゃんと基本を理解してから、もう一度作り直そうと思います。

スキルアップ/キャリアアップ(JOB@IT)