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で質問しましょう!
似たような質問が見つかりました
- SQL Server SQLのクエリの書き方 1 2022/03/29 23:06
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- X(旧Twitter) カギをかけているツイッターの検索について教えてください。 2 2022/11/07 17:22
- その他(Microsoft Office) outlookで宛先が異なるメールを一括送信する方法 outlookで200人それぞれをtoに指定し 2 2023/08/03 21:24
- Windows 10 パソコンの操作ができません。。。 4 2022/06/02 18:38
- Excel(エクセル) ユーザー関数の自動計算(excel2003) 1 2023/02/06 06:46
- Visual Basic(VBA) 以下のVBAで該当文字列の前後に付与したい。 例 前に付与 abc ユーザーID 12345 後に付 3 2022/04/19 21:50
- その他(セキュリティ) パスワード漏洩警告表示について 1 2022/12/23 11:05
- 車検・修理・メンテナンス 自動車車検は、自分で、ユーザー車検で、車検場に持ち込みすると、法定費用だけで、簡単に受かるよ。 7 2023/02/05 22:56
- Word(ワード) Word 2016のマクロを Word 2021のWordでキー動作させたい 3 2023/04/12 16:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ADO VBA 実行時エラー3021
-
DataGridViewの、選択されてい...
-
レコードが存在しなかった場合
-
JSPのNULLレコード表示について...
-
アクセスでレポートの1印刷内...
-
DataGridViewの内容をDBに反映...
-
ヘッダレコードとトレーラレコ...
-
Line Inputで文字化け(助けて...
-
ACCESSのフォームで複数レコー...
-
【ExcelVBA】Powerクエリーでい...
-
Javaで使用するデータベースの...
-
ACCESSで大量の更新を行うと「...
-
レコードセット(ADO.Recordset)...
-
ACCESS VBA テーブルデータに...
-
サブレンジ分割されたNDB(富士...
-
Accessデータシートビューの行...
-
ワードの差込印刷で教えて下さ...
-
ACCESSで「16389予約済みエラー...
-
AccessVBAのMoveメソッドにつき...
-
Access でレコードセレクタが押...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レコードが存在しなかった場合
-
ADO VBA 実行時エラー3021
-
ファイル書込みで一行もしくは...
-
アクセスでレポートの1印刷内...
-
カレントレコードが無い事を判...
-
差し込み印刷のレコード数について
-
レコードセット(ADO.Recordset)...
-
ワードの差込印刷で教えて下さ...
-
DataGridViewの内容をDBに反映...
-
Access でレコードセレクタが押...
-
DataGridViewの、選択されてい...
-
JSPのNULLレコード表示について...
-
ACCESSで大量の更新を行うと「...
-
[VBA] ADOの Clone と AddNew
-
Access を×ボタンで閉じ...
-
サブレンジ分割されたNDB(富士...
-
ヘッダレコードとトレーラレコ...
-
データセットのレコード更新が...
-
DataGridViewにてセル以外をク...
-
Line Inputで文字化け(助けて...
おすすめ情報