
VC#2005とSQLServer2005ExpressEditionでWindowsアプリケーションを作成しています。
データベースの中から1つのマスタテーブルのデータを呼び出すのにTableAdapterを使ってDataTableにデータをバインドしました。
そこから条件を満たしている行をすべて抽出して同じ型のDataTableにデータをコピーしたいのです。
ですから、DataTableは2つ用意しています。1つは上記の通りデータをバインドしていますが、もう1つは宣言しただけなのでまだ空っぽの状態です。
DataTableにはカラムが3列あり、その中の1列をグループIDとしています。
条件としてはグループIDが同じであるということです。
やりたいことは条件を満たしている行をすべて抽出して空のデータテーブルにコピーすることです。
どなたかご存知の方いらっしゃれば教えてください。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
C#だったんですね … さほど変わりないと思いますが
お使いのコードが提示されていないのでこちらで適当な変数をでっち上げております
現在お使いのコードを支障の無い範囲で提示しましょう
//元のデータテーブルがdtSourceとすると
// テーブル構造をコピー
DataTable dt = dtSource.Clone();
DataRow r = null;
foreach( DataRow dtRow in dtSource.Select("選択するための文字列"))
{
r = dt.NewRow();
for( int n = 0; n < dtRow.ItemArray.Length; n++ )
{
r[n] = dtRow[n];
}
dt.Rows.Add( r );
}
といった具合になると思います
# 前回の投稿中のstSorceはdtSourceの単なるミスです
> C#だったんですね … さほど変わりないと思いますが
質問の最初に書いたんですが、わかりにくかったでしょうか。
すいません、今後質問するときはもっとわかりやすく書くよう努めます。
今回のはかなり参考になりました。ありがとうございます。
今度はforeach( DataRow dtRow in dtSource.Select("選択するための文字列"))の("選択するための文字列")で詰まってしまいました。
実際にはその位置にint型の変数を入れたかったのです。
実行すると例外が返ってきたり実行時エラーになったりで結構はまってしまいましたが("比較するカラム名 =" + 変数名)で上手くいきました。
これで何とか次の状態遷移に移れそうです。
ありがとうございました。
No.1
- 回答日時:
ソースのDataTableのCloneメソッドでテーブル構造をコピーして
SelectメソッドでRowコレクションを取得
これを For Eachでループしてやればコピーできますよ
dim dt as DataTable
dim r as DataRow
dt = dtSource.Clone
for each rowSource DataRow in stSource.Select( "選択対象列=選択データ")
r = dt.NewRow
for n as integer = 0 to rowSource.ItemArray.Length - 1
r(n) = rowSource(n)
next
dt.rows.add( r )
next
といった具合でしょう
この回答への補足
せっかくソースを書いて頂いてますが、VBみたいですね。
VBでは「rowSource」や「stSource」をいった宣言外のものが使えるんでしょうか?
私はVBはわからないのですが、これはちょっと応用できそうにありません。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【条件付き書式】countifsで複数条件を満たしたセルを赤くする方法 2 2023/02/09 23:53
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- Visual Basic(VBA) エクセルについて教えてください。 3 2023/06/28 09:11
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
このQ&Aを見た人はこんなQ&Aも見ています
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
この行は既に別のテーブルに属しています
Visual Basic(VBA)
-
SPREAD(GrapeCity)のセルにフォーカスを設定するにはどうしたらいいのでしょうか?
Visual Basic(VBA)
-
-
4
DataTableに入っているデータを全てinsertしたい!(C#)
Microsoft ASP
-
5
vbでDataTableの抽出コピー
Visual Basic(VBA)
-
6
DataGridViewの、選択されている行を取り出したい
Visual Basic(VBA)
-
7
vb.netのdatatableのレコード削除について質問です。 例 datatableの0列目の値
C言語・C++・C#
-
8
VB.NETで他のプロジェクトで作成したフォームを使う方法
Visual Basic(VBA)
-
9
「指定されたキャストは有効ではありません。」とエラーが出てしまいます。
Microsoft ASP
-
10
CloseとDisposeの違い
Visual Basic(VBA)
-
11
Hideについて(.NET)
Visual Basic(VBA)
-
12
DataSetから、DataTableを取得したい。
C言語・C++・C#
-
13
VB.NETで小数点以下の桁数を取得したい
その他(ソフトウェア)
-
14
【DB】同じトランザクション内でupdateとselectをしたときの結果値
その他(データベース)
-
15
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
16
データセットのレコード更新がしたい
Visual Basic(VBA)
-
17
DataViewで複数条件のフィルタのやり方
Visual Basic(VBA)
-
18
文字列の後ろから必要分だけ削除したい。
Visual Basic(VBA)
-
19
ピクチャーボックスの大きさに合わせて画像を表示
Visual Basic(VBA)
-
20
GROUP BYを行った後に結合したい。
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DataTableから条件を満たした行...
-
Accessのフォーム上でSQLServer...
-
ORACLEデータをACCESSへインポ...
-
ACCESS2007 フォーム 「バリア...
-
SELECT文でのデッドロックに対...
-
「マスタ」と「テーブル」の違...
-
sqlserverで集計結果をUPDATEし...
-
重複するキーから一番古い年月...
-
Access VBA [リモートサーバー...
-
オラクルではできるのにSQLSERV...
-
IFで条件を分岐させてのINSERT...
-
SI Object Browserのテーブルス...
-
SQLServer 分散トランザクショ...
-
ACCESSのODBCリンクテーブルに...
-
Accessにインポートしたら並び...
-
クエリのキャンセルがいつにな...
-
インデックスの再構築の意味っ...
-
accessのロック
-
エクスポート時の改行コードに...
-
Access VBA Me.Requery レコー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DataTableから条件を満たした行...
-
Accessのフォーム上でSQLServer...
-
ORACLEデータをACCESSへインポ...
-
SPREAD でのデータ連動、更新に...
-
ACCESSテーブル2つのデータの...
-
Delphiのデータベースについて
-
SELECT時の行ロックの必要性に...
-
「マスタ」と「テーブル」の違...
-
ACCESS2007 フォーム 「バリア...
-
ACCESSのSQLで、NULLかNULLでな...
-
SELECT文でのデッドロックに対...
-
ビューで引数を使いたい
-
Access VBA [リモートサーバー...
-
Accessにインポートしたら並び...
-
インデックスの再構築の意味っ...
-
sqlserverで集計結果をUPDATEし...
-
3つ以上のテーブルをUNIONする...
-
accessのエクスポートエラーに...
-
2つのテーブルから条件に一致...
-
SI Object Browserのテーブルス...
おすすめ情報