tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルVB2005からSQLServer2000への接続
記事No4088
投稿日: 2006/08/15(Tue) 18:14
投稿者あっく
今VB2005でDataGridViewを使ってアプリケーションを作成しています。
データベースから値を取得したいのですがデータソース構成ウィザードの
データ接続を追加するときに「Microsoft SQL Server データベース ファイル」
以外の接続方法はあるのですか?

また、ただ単純にADO.NETを使ってDataGridViewへデータをもってくるのは出来るのですが
ColumnTypeをDataGridViewComboBoxColumnに変更してComboBoxにデータベースの値を格納するの
はどのようにすればいいのでしょうか?
例えば「性別マスタ」から値をとってきてComboBoxには「男」、「女」のどちらかした選べない
というようにしたいのです。

どなたかご教授の程よろしくお願い致します。

[ツリー表示へ]
タイトルRe: VB2005からSQLServer2000への接続
記事No4089
投稿日: 2006/08/16(Wed) 09:38
投稿者魔界の仮面弁士
> データ接続を追加するときに「Microsoft SQL Server データベース ファイル」
> 以外の接続方法はあるのですか?

サーバーエクスプローラに指定して、そこからドラッグ & ドロップするとか、
手動で SqlClient なコードを書くとか、まぁいろいろと。


> ColumnTypeをDataGridViewComboBoxColumnに変更してComboBoxにデータベースの値を格納するの
> はどのようにすればいいのでしょうか?

DataGridViewComboBoxColumn に変更することができないでいるのでしょうか。
あるいは、ComboBox に値の一覧(男/女)を入れる部分でつまずいているのでしょうか。
それとも、その値のうち、いずれかを選択させる部分がわからないのでしょうか。

性別マスタとやらの仕様がわからないので、確実なことはいえませんが、たとえば……

 1. 性別情報を含んだテーブル(例:社員マスタ, 顧客一覧など)を DataGridView に割り当てる。
  なお、性別列は数値型とし、1 が "女性"、2 が "男性" を意味するものとします。

 2. デザイン画面で、性別列をコンボボックス列(DataGridViewComboBoxColumn)に変更する。

 3. デザイン画面で、コンボボックス列の DataSource に、性別マスタを割り当てる。
  さらに同列の ValueMember に、性別マスタの主キー列(1 や 2 などが入っている列)を指定。
  さらに同列の DisplayMember に、性別マスタの名称列("女性"や"男性" など)を指定。

といった感じで指定することができます。

[ツリー表示へ]
タイトルRe^2: VB2005からSQLServer2000への接続
記事No4090
投稿日: 2006/08/16(Wed) 11:03
投稿者あっく
魔界の仮面弁士さんありがとうございます。

ローカルのDB環境で作業するとこの通りに動きました。

仕様では「Visual Basic Express Edition はローカルのみのデータアクセスをサポート」
と記載してあったのですが
SqlClient等と使用すると「DBへのネットワーク経由の接続」
ができたので通常の接続形態だと勘違いしていました。


デザイン画面での設定方法を教えていただいたのですがこれを
SqlClient等を使用してコーディングで記述することは可能でしょうか?
(デザイン画面でも「DBへのネットワーク経由の接続」が出来れば一番いいのですが)

よろしくお願いします。

[ツリー表示へ]