我正在查询存储在数据库表中的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)类型,它显示Collation = latin1_swedish_ci,但我甚至不知道这是什么。
谢谢
发布于 2013-04-03 06:42:20
尝试使用LIKE,然后:
"SELECT user_id, is_login FROM users WHERE last_ip_address LIKE '%" + this.GetIPAddress() + "%'"编辑:我会尝试将排序规则更改为UTF8。
发布于 2013-04-03 11:48:46
好的,很抱歉给您造成了混乱。我对在C#中使用MySql非常陌生,对MySqlConnector也是非常非常陌生(就像我是说我今天才开始)。
长话短说,当我需要做的是使用MySqlDataReader时,我试着把这个表当作一个表,并像一个二维数组一样读取它。我在这里找到了一个好的答案:
How to read columns and rows with C#?
感谢您的帮助和建议。
https://stackoverflow.com/questions/15775500
复制相似问题