- PR -

主キーが見つかりません

1
投稿者投稿内容
とも
会議室デビュー日: 2004/10/21
投稿数: 12
投稿日時: 2004-10-28 17:37
ASP.NETでVB.NETを使ってWebアプリケーションを作っています。DataSetの中のデータを主キーを使って取り出したいのですが「主キーが見つかりません」というエラーがでてしまいます。

クラスの中のGetCategory()ファンクションで、
 Dim objDSCategory As New DataSet()
       ・
 objDACategory.Fill(objDSCategory, "tblCategory")
 Return objDSCategory
として、
フォームのPage_Loadイベントの中で
 Dim objCatg As DataSet
 objCatg = objProduct.GetCategory()
 Dim dvCatg As New DataView()
 drCatg = objCatg.Tables("tblCategory").Rows.Find(CatgID)
という様にしているのですが、最後の行で前述のエラーがでてしまいます。
データベース内では設定ができているのですがそれは自動的に認識されないの
でしょうか?どなたか間違いを指摘してくださる方がいらしたら
アドバイスをください。よろしくお願いします。


todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2004-10-28 18:02
引用:

ともさんの書き込み (2004-10-28 17:37) より:
データベース内では設定ができているのですがそれは自動的に認識されないの
でしょうか?


指定しない限り、スキーマ情報は読みに行きません。
http://support.microsoft.com/default.aspx?scid=kb;ja;310128
とも
会議室デビュー日: 2004/10/21
投稿数: 12
投稿日時: 2004-10-31 14:27
遅くなり申し訳ありません。いただいたアドバイスを元に
objDAProduct.FillSchema(objDSProduct, SchemaType.Source, "tblProduct")
という一文を加えてみたところうまくいくようになりました。ありがとうございました。

ただ、別の場所で同じ動作(データベース内の情報をデータセットに読み込み、
主キーでその中の一情報を取り出す)をしようとするとやはり同じエラーがでてしまいます。
objDAProduct.MissingSchemaAction = MissingSchemaAction.AddWithKey
どいうのも試してみたのですが結果は同じです。何かまだ間違いがあるのでしょうか?
重ねてで申し訳ないですが、できたらご教示ください。
1

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