アプリ版:「スタンプのみでお礼する」機能のリリースについて

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件)

ちょっと訂正。


SQL文は次の方が良いのかな?

SELECT * FROM [dbo].[tablename] WHERE [userid] LIKE N'XXXXXX' AND [username] LIKE N'○○○○' ORDER BY [userid] ASC;
    • good
    • 0
この回答へのお礼

ありがとうございました

お礼日時:2010/05/03 16:49

 キーはデータベースのレコードを検索するときの目印となる項目です。


 通常のデータベースでは主キーの他に副キーを指定したり出来ますが、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がどうとかあるのですが、どう使用するものなのでしょうか。

これだけ書かれても意味不明です。課題を出した人に何をしたいのか訊いてくださいとしか言えません。
    • good
    • 0
この回答へのお礼

ありがとうございました

お礼日時:2010/05/03 16:48

> 説明にはユーザー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を習いましたが、習っていないも同然の知識しかありません。
おすすめの参考書でもいいので教えてください。

補足日時:2010/04/26 22:54
    • good
    • 0
この回答へのお礼

ありがとうございました

お礼日時:2010/05/03 16:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!