電子書籍の厳選無料作品が豊富!

おはようございます。カネゴです。
表記の件で再度質問させていただきいます。
まずは情報取得。
これは、検索・抽出といったほうがいいのでしょうか。ID PASSを
テキストボックスに入力し検索ボタンを押下すると、データベースから
検索結果に、マッチしたレコードがデータグリッドに表示されると
いうものです。
sqlconnection sqlcomand. などを使用し
sqldataadaptedのfill メソッドで表示させればいいのでしょが、なかなかうまくいきません…

更新削除も同様に、ado.netで行いたいのですが、なかなかうまくいきません。
「検索」btn押下後のイベントです。

SqlConnection cn = new SqlConnection(@" server = ***\SQL2005 ; " + " database = user_master ; "
+ " uid = sa ; " + " pwd = *** ; ");

cn.Open();

SqlCommand cmd = new SqlCommand("SELECT * FROM user_master where UserID=textBox1.Text
and Password=textBox2.Tet ", cn);

SqlDataAdapter da = new SqlDataAdapter ();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds, "user_master");
cn.Close();

たぶん、select文のなかが違うと思います。
マルチパート識別子 "textBox1.Text" をバインドできませんでした。
マルチパート識別子 "textBox2.Text" をバインドできませんでした。
とエラーがでます。
素人なので、つぎはぎして作ったので、文法的なものがめちゃくちゃかもしれませんが
以上宜しくお願いします。

A 回答 (2件)

たしかにデータグリッドに表示するコードが1行もありませんから、このままでは表示されません。


(一部分だけ抜粋してるのかと思っていました)

このコードが正常に終了したとき、データが入っているのはDataSetであるdsです。
ですから、dsに格納されたデータをデータグリッド知らせてやらなければなりません。
画面上のデータグリッドの変数名がわかりませんが、仮にdataGridView1とすると、

dataGridView1.DataSource = ds.Tables["user_master"];
それでもうまくいかなかったら
dataGridView1.DataSource = ds.Tables[0];
を、cn.Close();の次あたりに追加してみてください。
これで、データグリッドはDataSetであるdsの内容を解釈して表示してくれると思います。
プログラムの全ソースコードが見えないので、的外れな答えをしているかもしれませんが。
    • good
    • 0
この回答へのお礼

t4tさん

できました~!!(涙)
ありがとうございます。
自分でいろいろ調べようと、粘っていたのですが、さすがに限界はありますね…

まだ、ユーザ追加と削除が残っているので、これからちょっとやってみます。

合掌

お礼日時:2008/06/05 15:49

SqlCommand cmd = new SqlCommand("SELECT * FROM user_master where UserID=" + textBox1.Text + " and Password= " + textBox2.Text, cn);



で、動くと思います。
(+や"、スペースの位置に注意してください)

ただ、このコードはこのままですと悪意ある入力に対してとても弱いですので、
学習のための段階では問題ないのですが、実用プログラムで使用する場合は、
textBox1.TextやtextBox2.Textに対して、よくない値が入っていないかを事前に
チェックして場合によっては文字列の変換を行ってからSqlCommandに渡すなどの対策が必要になりますので、ご注意ください。

この回答への補足

t4tさんおはようございます。

表記の件ありがとうございます。
確かにopenできたのですが、データグリッドに表示されません…
そのままcloseされてしまいますorz
バインド?するのでしょうか?

以上よろしくお願いします。

補足日時:2008/06/05 12:37
    • good
    • 0

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