0

我正在使用以下内容查询存储在数据库表中的 IP 地址:

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

我知道 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# 和 MySqlConnector 非常新(就像我的意思是我今天才开始)。

为了简短的回答,我试图将表格视为一个表格,并像从二维数组一样读取它,而我需要做的是使用 MySqlDataReader。我在这里找到了一个很好的答案:

如何使用 C# 读取列和行?

感谢大家的帮助和建议。

于 2013-04-03T03:48:45.970 回答
0

尝试使用LIKE然后:

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

编辑:我会尝试将该排序规则更改为UTF8

于 2013-04-02T22:42:19.697 回答