私は約5テーブルを返すストアドプロシージャを持っていると私はこのように彼らに何かを返しています:ストアドプロシージャからテーブル名を認識するDataSetを取得する方法?
select <fields> from Products where ProductId = @ProductId
select <fields> from RelatedProducts where ProductId = @ProductId
select <fields> from MetaData where ProductId = @ProductId
がよく、あなたが要点を得ます。今データセットで、私が行う場合は、この:
DataSet ProductDs = DAL.RetreiveProductMetadata(someInteger);
ProductName = DataSet.Tables["Products"].Rows[0]["columnName"].ToString();
その例外を投げて...よく、テーブル名がnullとデバッグ時であるというエラーが、結局のところ、テーブル名が実際に「Results1」と命名され、 "結果2"など。
select * From products AS Products
効果なし:
私はにストアドプロシージャを変更することを試みました。
データベースからテーブル名を検出して使用するにはどうすればよいですか?
ps:私はあらゆる種類のCoalescesとケースをフィールドに持っていますが、問題はないでしょうか?
また、グーグルと叩いてみました。
intを使用してテーブルのインデックスを作成しようとするとどうなりますか? – dandan78
それは当然のことですが、名前でアクセスしようとしている私の主張は、純粋に読みやすさのためです。テーブル[0]と[1](または他のコーダー – iamserious
別のちょっとばかげた質問:テーブル名を小文字で入力しようとしましたか?私は過去に同様の問題を抱えていたことを覚えていますが、大文字と小文字の区別について何かを思い起こさせるようですが、私はそれらをどのように解決したのかはよく分かりません – dandan78