![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
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でDataTableの抽出コピー
Visual Basic(VBA)
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
DataViewで複数条件のフィルタのやり方
Visual Basic(VBA)
-
-
4
CloseとDisposeの違い
Visual Basic(VBA)
-
5
2つのDataTableをJoin
Visual Basic(VBA)
-
6
vb.netで画面のコントロールId名を変数で動的に制御し処理する方法
Visual Basic(VBA)
-
7
この行は既に別のテーブルに属しています
Visual Basic(VBA)
-
8
DataGridViewのカラムに自動で連番
Visual Basic(VBA)
-
9
visual studio でインデントを自動的に揃えるショートカットキー
その他(プログラミング・Web制作)
-
10
データセットのレコード更新がしたい
Visual Basic(VBA)
-
11
DataTableに入っているデータを全てinsertしたい!(C#)
Microsoft ASP
-
12
SELECT 文 GROUP での1件目を取得
SQL Server
-
13
DataGridViewの各セル幅を自由に決め、その幅で固定したい
Visual Basic(VBA)
-
14
SQL 複数テーブルのupdate
Oracle
-
15
DataGridViewのチェックボックスのON、OFFの判定方法
C言語・C++・C#
-
16
C# ログイン画面からメイン画面への画面遷移について
C言語・C++・C#
-
17
VB.net
Visual Basic(VBA)
-
18
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
19
CSVファイルの特定行の削除
Visual Basic(VBA)
-
20
VB.NETでのイベントの途中終了
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ORACLEデータをACCESSへインポ...
-
「マスタ」と「テーブル」の違...
-
ACCESSのSQLで、NULLかNULLでな...
-
ACCESS 一番最新の日付の金額...
-
2つのテーブルから条件に一致...
-
3つ以上のテーブルをUNIONする...
-
エクスポート時の改行コードに...
-
SELECT時の行ロックの必要性に...
-
Accessにインポートしたら並び...
-
accessテーブル作成クエリを実...
-
[ BETWEEN ] vs [ >= AND <= ]
-
sqlserverで集計結果をUPDATEし...
-
数百万件レコードのdelete
-
データの二重表示の原因
-
Accessでの排他制御
-
ビューで引数を使いたい
-
AccessでOracleのテーブルをリ...
-
2つの項目が重複するレコード...
-
重複するキーから一番古い年月...
-
SQL 件数取得を速くしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DataTableから条件を満たした行...
-
Delphiのデータベースについて
-
Accessのフォーム上でSQLServer...
-
ORACLEデータをACCESSへインポ...
-
▼sqlite3で文字化け rails
-
DataAdapterについて教えてくだ...
-
ACCESSテーブル2つのデータの...
-
oo4o+ACCESS(VBA)で出来ますか?
-
SPREAD でのデータ連動、更新に...
-
Excel マクロでアクセスQueryを...
-
ACCESSでのクエリの作成
-
「マスタ」と「テーブル」の違...
-
MySQLがPostgreSQLより優れてい...
-
ACCESSのSQLで、NULLかNULLでな...
-
データの二重表示の原因
-
2つのテーブルから条件に一致...
-
[ BETWEEN ] vs [ >= AND <= ]
-
オラクルではできるのにSQLSERV...
-
ACCESS2007 フォーム 「バリア...
-
SELECT時の行ロックの必要性に...
おすすめ情報