![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?e8efa67)
Visual C#でSQLのテーブルを読み込む方法を教えてください。 (超初心者です。)
SQLのテーブルは下記の通りです。
userid username busho nyushabi
111111 ユーザー1 11111 20100401
222222 ユーザー2 22222 20100401
333333 ユーザー3 33333 20100401
…
C#のフォームで、ユーザーID・ユーザー名を入力し、検索ボタンをクリックすると、
検索結果として該当するユーザーID・ユーザー名・部署・入社日が
各1つのテキストボックスに表示されるようにするには、
検索ボタンイベントにどういうプログラムの記述をすればよいのでしょうか。
読み込みはユーザーIDの昇順で、該当者先頭1件の情報を表示だそうです。
説明にはユーザーID・ユーザー名をKEYにして読み込むとあったのですが、
KEYとはなんですか?
あと、フォームの部品にラジオボタンで表示・非表示があり、
説明にflgがどうとかあるのですが、どう使用するものなのでしょうか。
全く分からないので宜しくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
キーはデータベースのレコードを検索するときの目印となる項目です。
通常のデータベースでは主キーの他に副キーを指定したり出来ますが、MSのSQL Serverでは主キーの設定しか無いようですね。
主キーは任意のレコードを一意に取り出すためのユニークな項目に設定し、テーブル内で絶対に重複しないようにします。個々の項目がユニークではなく組み合わせでユニークになる場合は、2個以上の項目を組み合わせて設定することもできます。
ここではユーザーIDとユーザー名をキーにするとあるのは、ユーザーIDとユーザー名の組み合わせをユニークと考えて主キーに設定するということです。(一般的にはユーザーIDだけでユニークなはずですが、念のためユーザー名と組み合わせてるのでしょう
>> 検索ボタンイベントにどういうプログラムの記述をすればよいのでしょうか。
フォーム上で入力されたユーザーIDとユーザー名を読み込み、それを用いてレコードを検索するSQL文を組み立て、SQL用のライブラリ関数を用いてSQL文をSQL Serverに対して送信します。SQL文が正しく、該当するユーザーIDとユーザー名のレコードがあれば、それが返ってきます。それを別のテキストボックスに表示します。
テキストボックスの読み書きは、テキストボックスのTextプロパティの読み書きで出来ます。
レコードの取り出しなので、SQL文はSELECT文を作ることになりますが、細かい文法とか、C#からのSQL Serverへのアクセスについては参考書やMSDNライブラリ等を読んでください。
>>読み込みはユーザーIDの昇順で、該当者先頭1件の情報を表示だそうです。
これはSQL文を作るときにユーザーIDの昇順で検索するように指定します。
テーブル名をtablename、ユーザーIDの列名をuserid、ユーザー名の列名をusernameとしたときのSQL文は次のような感じだと思います。(ユーザーIDがXXXXXX、ユーザー名が○○○○のレコードを検索)
SELECT * FROM [dbo].[tablename] WHERE [userid] = 'XXXXXX' AND [username] = '○○○○' ORDER BY [userid] ASC;
>>あと、フォームの部品にラジオボタンで表示・非表示があり、
説明にflgがどうとかあるのですが、どう使用するものなのでしょうか。
これだけ書かれても意味不明です。課題を出した人に何をしたいのか訊いてくださいとしか言えません。
No.1
- 回答日時:
> 説明にはユーザーID・ユーザー名をKEYにして読み込むとあったのですが、
KEYとはなんですか?
こういう質問がある時点で、回答がここで答えられる分量で収まらないだろうし、理解もできないと思います。実現する目標と、知識レベルがあまりにも隔たっています。(目標そのものはプログラミングとデータベースの知識があれば、簡単なレベルなのですが)
・SQLって何か知っていますか?
・SQLサーバーには何を使っていますか?
・C#でプログラミングした経験はありますか?
基礎から参考書を読んだりして学習してから手をつけてください。それでどうしてもわからなくなった時に質問があれば答えられると思います。
ある程度スキルが有れば、初めての言語とかでもネットで調べるとか質問サイトで聴くとかで問題を解決していけますが、そういう土台が無い場合はちゃんと地道に基礎から学習しないとどうにもなりません。
ちなみに、KEYとはデータベースにおける一番初歩的なキーワードです。
この回答への補足
>こういう質問がある時点で、回答がここで答えられる分量で収まらないだろうし、理解もできないと思います。
ダメもとで教えて頂けませんか。
ある程度の知識がある人向けの回答でかまいません。
4月から社会人になり、会社で出された研修内容なのです。
社員15人程の会社ですが、ほとんどが取引先に直行直帰で、いつも2,3人しかおらず、
皆さん自分の仕事が一杯一杯で質問が後回しされてしまうのです。
研修もほとんど自習で、C#は初めてですが、猫でもわかるという本を1冊、
1週間でものにするように言われて勉強しました。
DBで15分ほどの説明があり、そのあと2時間SQLのselect等の簡単な基本文をやり、
出されたのがこの課題なのです。
SQL server 2005という本と、visual C#逆引きを購入したのですが、
KEYという索引がなく、調べても主キーしかわかりませんでした。
大学でJAVAを習いましたが、習っていないも同然の知識しかありません。
おすすめの参考書でもいいので教えてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
レコードが存在しなかった場合
-
レコードセット(ADO.Recordset)...
-
カレントレコードが無い事を判...
-
ADO VBA 実行時エラー3021
-
VB6.0のIsNull関数に相当するもの
-
差し込み印刷のレコード数について
-
エラー番号=5 制約を有効にで...
-
DataGridViewの内容をDBに反映...
-
データセットのレコード更新が...
-
ファイル書込みで一行もしくは...
-
ワードの差込印刷で教えて下さ...
-
Accessでレコードの更新を任意...
-
Access でレコードセレクタが押...
-
ヘッダレコードとトレーラレコ...
-
サブレンジ分割されたNDB(富士...
-
ACCESS VBA テーブルデータに...
-
ACCESSで大量の更新を行うと「...
-
どのようなレコード構成でもfil...
-
ACCESSのフォームで複数レコー...
-
Accessデータシートビューの行...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ADO VBA 実行時エラー3021
-
ファイル書込みで一行もしくは...
-
レコードが存在しなかった場合
-
カレントレコードが無い事を判...
-
アクセスでレポートの1印刷内...
-
JSPのNULLレコード表示について...
-
DataGridViewの、選択されてい...
-
固有レコード識別子の選択とは
-
Access でレコードセレクタが押...
-
データセットのレコード更新が...
-
レコードセット(ADO.Recordset)...
-
[VBA] ADOの Clone と AddNew
-
DataGridViewの内容をDBに反映...
-
ヘッダレコードとトレーラレコ...
-
DataGridViewにてセル以外をク...
-
差し込み印刷のレコード数について
-
サブレンジ分割されたNDB(富士...
-
ACCESSで大量の更新を行うと「...
-
Access を×ボタンで閉じ...
-
[VB6]プログレスバーコントロー...
おすすめ情報