ASP.NET C#とMySQLで、データの受け渡しを行う方法についてですが、
cmd.CommandTextを用いて、
cmd.CommandText = "SELECT a , b FROM c WHERE d = 'e' ";
のように、記述する方法で、
この場合には、eの値を、ASP.NETで、
TextBox1.TEXT = e ;
のように、変数にした場合の、SQLでの記述方法が分かりません。
他の記述方法もあるかとは思いますが、まだ初歩の段階ですので、
上記の方法にて、利用できる記述方法を教えていただきたいです。
テキストボックスに入力された値を、MySQLのデータベースから検索し、
ログインするという、プログラムです。
> ASP.NET C#とMySQLで、
VBでは無く? (ここは Visual Basic .NET 用の掲示板なのですが…)
> cmd.CommandTextを用いて、
この場合の cmd は、MySqlCommand クラスでしょうか?
それとも OleDbCommand クラス? あるいは ADODB.Command ?
> cmd.CommandText = "SELECT a , b FROM c WHERE d = 'e' ";
これは、c テーブルの d 列の内容が「e」という文字であるレコードを
抽出しようとしていることになりますね。
> TextBox1.TEXT = e ;
C# ユーザーなら、大文字小文字も意識しましょう。
// 下記 2 行の違いは分かりますか?
TextBox1.Text = e ;
TextBox1.Text = "e" ;
// この 2 行の違いは分かりますか?
TextBox1.Text = "変数「e」の内容";
TextBox1.Text = "変数「" + e + "」の内容";
> cmd.CommandText = "SELECT a , b FROM c WHERE d = 'e' ";
> のように、記述する方法で、
できればパラメータ化した方が良いのですが、直接埋め込むなら
= "SELECT a , b FROM c WHERE d = '" + e.Replace("'", "''") + "'";
ですかね。変数 e が String 型(かつ null ではない)という前提です。
なお Replace を併用しているのは、e = "I'm Emetriath." のように
「'」が含まれる文字列が渡された場合への対策です。
ありがとうございます。
お陰様で、前に書いたプログラムで、" "で、分割していたのを思い出しました。
無事に値を持ってくることが出来ました。
VBだったのですね。勘違いしておりました。申し訳ありません。
ツイート | ![]() |