VB2005、SQLServer2005環境です。
主キーの設定方法について教えて下さい。
主キーが一つの場合下記のように記述しますが、複数ある場合はどう記述すればよろしいですか?
お願いします。
strsql = "SELECT * FROM Aテーブル"
Dim comm As SqlCommand = New SqlCommand(strsql, Con)
Dim dataadapter As SqlDataAdapter = New SqlDataAdapter(comm)
Dim ds As DataSet = New DataSet()
dataadapter.Fill(ds, "Aテーブル")
Dim dt As New DataTable
dt = ds.Tables("Aテーブル")
'主キーの設定
dt.PrimaryKey = New DataColumn() {dt.Columns("コード1")}
No.3
- 回答日時:
>いくつでも設定できると思うんですが、DATASETには一つということなんでしょうか?
逆にいくつでも設定できるという情報はどこから得ましたか?
出展を教えてください。
主キーとは、テーブル内の複数レコードの中から1つのレコードを特定できるキーで、1テーブルに1つ設定できます。
DataSet 内には複数の DataTable を格納でき、DataTable 毎に1つ主キーが設定できますから、DataSet 内には複数の主キーが存在し得るという事は言えます。
No.2ベストアンサー
- 回答日時:
既に回答がついていますが補足。
要するに
dt.PrimaryKey = New DataColumn() {dt.Columns("コード1"), dt.Columns("コード2")}
とすると、コード1 + コード2 の主キーが作成されます。
表題から、主キーそのものを複数個設定したいように読めるのですが、主キーというのは、1テーブルにつき1つしか設定できません、念のため。
主キーって1テーブルにつき1つ???
いくつでも設定できると思うんですが、DATASETには一つということなんでしょうか?
主キーの作成方法はわかりました。
ありがとうございました。
No.1
- 回答日時:
>dt.PrimaryKey = New DataColumn() {dt.Columns("コード1")}
DataColumnを配列で定義しているのだから、必要なキーの数だけ配列の中身を定義してあげるだけですよ。
この回答への補足
dt.PrimaryKey = New DataColumn() {dt.Columns("コード1")}
dt.PrimaryKey = New DataColumn() {dt.Columns("コード2")}
dt.PrimaryKey = New DataColumn() {dt.Columns("コード3")}
と書くという意味ですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) Vbaで数式をポーランド記法に変換するコードを作って実行しようとするとフリーズします。 1 2022/05/24 17:53
- Visual Basic(VBA) Excel VBAについて、 フォルダ内のファイルを全て開きたい場合、 FSOを使えば、Dirは使わ 1 2023/01/27 13:18
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Excel(エクセル) 【VBAファイル移動】2つのマクロを順に実行。1つ目のマクロが実行不可⇒2つ目が実行不可となる件 2 2022/07/29 12:17
- Visual Basic(VBA) エクセルから、パワーポイントのスライドを複数作成する。 1 2022/07/08 09:40
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
2つのDataTableをJoin
Visual Basic(VBA)
-
DataGridViewの特定列に入力されている重複チェックをしたい
Visual Basic(VBA)
-
-
4
DataSetから、DataTableを取得したい。
C言語・C++・C#
-
5
DataTableに特定のフィールドが存在するかどうか調べるには?
Visual Basic(VBA)
-
6
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
7
textboxユーザーコントロールのコピー&ペースト制御
Visual Basic(VBA)
-
8
データセットのレコード更新がしたい
Visual Basic(VBA)
-
9
DataGridViewに空白がある場合はエラーにしたい
Visual Basic(VBA)
-
10
VB.NET getとsetの概念がわかりません。
Visual Basic(VBA)
-
11
DataGridViewに複数テーブルのデータをセットしたい
Visual Basic(VBA)
-
12
VB.NETでMessageBoxを表示したいのですが
その他(プログラミング・Web制作)
-
13
SQLで特定の項目の重複のみを排除した全項目を取得する方法
その他(プログラミング・Web制作)
-
14
【VB】タブ切り替え時のイベント
Visual Basic(VBA)
-
15
DataGridViewの、選択されている行を取り出したい
Visual Basic(VBA)
-
16
VB.NETで他のプロジェクトで作成したフォームを使う方法
Visual Basic(VBA)
-
17
DataTableで重複行を削除したい
Visual Basic(VBA)
-
18
DataGridViewで指定したセルの値を取得
Visual Basic(VBA)
-
19
datetime型でNULL値を入れたい。
SQL Server
-
20
EXISTSを使ったDELETE文
SQL Server
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
他のMDBのテーブルに追加したい
-
エクセルのテーブルを解除する...
-
Excel複数シートをaccessへ一括...
-
『列名 '担当者CD' があいま...
-
【ADO】「Execute」を使うと...
-
Accessで別mdbのテーブルをコピー
-
VB.NET データセットとADOレコ...
-
DataGridの中身をDataSetにテー...
-
WORD VBA プログラム修正をお願...
-
SQLを発行とは?クエリの作成と...
-
VBとアクセスでSQL文に変...
-
Access2003VBA リンクテーブル...
-
ExcelVBAからAccessMDB内のテー...
-
ACCESSのテーブル名をリストに...
-
sql文
-
DataGridViewに複数テーブルの...
-
SQL同時実行違反
-
AccessからExcelへエクスポート...
-
複数のデータベースを検索したい
-
ACCESS2010 実行時エラー 2766
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
WORD VBA プログラム修正をお願...
-
VBとアクセスでSQL文に変...
-
Accessで別mdbのテーブルをコピー
-
『列名 '担当者CD' があいま...
-
他のMDBのテーブルに追加したい
-
ExcelVBAからAccessMDB内のテー...
-
手動または分散トランザクショ...
-
SQLを発行とは?クエリの作成と...
-
DataGridViewに複数テーブルの...
-
CSVファイルのエクスポートでソ...
-
AccessからExcelへエクスポート...
-
エクセルのテーブルを解除する...
-
Excel複数シートをaccessへ一括...
-
HTMLのテーブルの行数が多くな...
-
COBOLのINVALID KEYが理解でき...
-
アクセステーブル、リンクとロ...
-
ACCESSのテーブル名をリストに...
-
ACCESS2010 実行時エラー 2766
-
DataGridの中身をDataSetにテー...
-
【ADO】「Execute」を使うと...
おすすめ情報