0

次のように、データベースのテーブルに格納されている IP アドレスに対してクエリを実行しています。

"SELECT user_id, is_login FROM users WHERE last_ip_address = '" + this.GetIPAddress() + "'"

表に IP が表示されているので、IP が表にあることがわかります。私は文字通りそれを見つめていますが、このクエリは行を返しません。

一重ティック クォート (') なしで実行すると、構文エラーが発生します。

"SELECT user_id, is_login FROM users WHERE last_ip_address = " + this.GetIPAddress()

では、これはどこが間違っているのでしょうか? 関数によって返される IP は、標準形式の ###.###.###.### IP アドレスであり、構文エラー自体は次のとおりです。

{"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.##.#' at line 1"}

編集: いくつかの詳細情報、フィールド自体は varchar(30) 型であり、Collat​​ion = latin1_swedish_ci と表示されていますが、それが何であるかさえわかりません。

ありがとう

4

2 に答える 2

0

混乱させてすみません。私は C# で MySql を使用することに非常に慣れていません。

長い答えを短くするために、テーブルをテーブルのように扱い、MySqlDataReader を使用する必要があったときに、2 次元配列のようにテーブルから読み取ろうとしました。ここで良い答えを見つけました:

C#で列と行を読み取る方法は?

皆さんの助けとアドバイスに感謝します。

于 2013-04-03T03:48:45.970 に答える