質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

Q&A

解決済

1回答

3749閲覧

ローカル .mdf ファイルから DataGridViewをバインドする方法。

hamaa

総合スコア45

VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

0グッド

0クリップ

投稿2016/09/07 13:19

さきほど
解決していただいてありがとうざいます。

今度はローカルの .mdfファイルから
DataGridViewをバインドさせたいのですが…

visualstudioから手動で設定できないのですか?
いくらグーグルを検索しても出てきません。
コードでやる方法をいくつか見つけたのですが…
意味がよくわからないものばかり…

やりたいのはタイトル通り 「.mdfからDataGridViewをバインド」

ぐーぐる参考①
http://www.atmarkit.co.jp/fdotnet/chushin/introwinform_06/introwinform_06_01.html

たぶんアクセスのファイルだろうけど
参考ぐーぐる参考②
http://homepage1.nifty.com/rucio/main/dotnet/Samples151/Sample172DataGridViewFromDB.htm

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

twck

2016/09/08 00:07

この問題はさきほどの問題とは全く別の事なので、「さきほど解決していただいてありがとうざいます。今度は」の文言は削除した方がいいです。 この質問を見ている人は関係があると思い込んで「先ほどの問題」をわざわざ調べてしまいます。 しかも「さきほど解決していただいて」ということは先ほどの問題を解決してくれた人「だけ」を相手にして質問しているように見えてしまいます。
guest

回答1

0

ベストアンサー

「.mdfからDataGridViewをバインド」「手動で設定」
.mdf なので SQL Server ですね。
質問文中のリンク先を見るとDataSetかDataTableで行っているので、DataTableを使います。
「列の追加」、「値の変更」も例として入れます。

VB.NET

1'Connection String 接続文字列 2Dim cs = "Data Source=.\SQLEXPRESS;AttachDbFilename=MDFファイルのフルパス;Integrated Security=True;MultipleActiveResultSets=True;User Instance=True" 3 4'バインドしたいデータを読み込んでDataTableに書き込む 5Dim table As New DataTable 6Using db As New SqlConnection(cs) 7 8 'バインドしたいデータを読み込むSQL文の作成 9 Dim cmd = db.CreateCommand() 10 cmd.CommandText = "SELECT フィールド名1, フィールド名2 FROM テーブル名 WHERE 条件" 11 12 'Adapterを使ってデータを読み込んでDataTableに書き込む 13 Using adapter = New SqlDataAdapter(cmd) 14 adapter.Fill(table) 15 End Using 16End Using 17 18'列の追加も行える 19Dim columnRowNo = table.Columns.Add("RowNo", GetType(Integer)) 20columnRowNo.SetOrdinal(0) 21 22'値の変更も行える 23For i As Integer = 0 To table.Rows.Count - 1 24 Dim row = table.Rows(i) 25 row.BeginEdit() 26 row("RowNo") = (i + 1).ToString 27 row.EndEdit() 28Next 29 30'DataGridViewにDataTableをバインドする 31DataGridView1.DataSource = table 32 33'列の表示幅を変えることもできる 34DataGridView1.Columns(0).Width = 30 35 36'列を非表示にもできる 37DataGridView1.Columns(1).Visible = False

投稿2016/09/08 01:03

twck

総合スコア314

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hamaa

2016/09/12 05:05

出来ました!! 素人なのでまだ、 '列の追加も行える '値の変更も行える の部分が理解してないです。 データテーブルの列や値を使える設定をして  データテーブルの設定もバインドしている…?っていう意味かな。汗。 twck さんありがとうございました!!
twck

2016/09/12 05:53

「列の追加も行える」、「値の変更も行える」、「列の表示幅を変えることもできる」、「列を非表示にもできる」 の部分は、単に おまけ で付けた部分なので、削除しても動きます。 一度、その4ヶ所を削除して動かしてみてください。 データベースから読み込んだ値しか表示できないと応用が利かないので、読み込んだ後に変更する例として おまけ を追加しました。
twck

2016/09/12 05:54

質問に付いているタグが "VB" だけなので、"SQL Server" もタグに加えてもらえますか?
hamaa

2016/09/12 10:17

理解も少しずつですが「列の追加も行える」、「値の変更も行える」了解しました。 SQL Server タグつけました。 twck さんありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問