我正在插入带有特殊字符的字符串,但显示问号("?")
代码 -
String mainquery = "INSERT INTO thread_pitch_gauge ( nominal_value, ob1, ob2) VALUES(?,?,?)";
String n1 = 56°± 116’;
String n2 = 56° 16’ 44’’;
String n3 = 56° 16’ 45’’;
ps = (PreparedStatement) connection.prepareStatement(mainquery);
ps.setInt(1, n1);
ps.setString(2, n2);
ps.setString(3, n3);
ps.execute();
ps.close();
in database value showing like
nominal_value=56°± 116’
ob1=56° 16’ 44’’
ob2=56° 16? 45?;
我的数据库表所有字段类型都是varchar(50) 我在java中遇到这个问题 数据库是mysql 请帮我 提前谢谢
答案 0 :(得分:2)
在插入数据库之前,您需要转义特殊字符
有许多特殊字符需要转义 (受保护),如果要将它们包含在字符串中。这里 是逃避规则的一些基本特征:
以下是一些如何包含特殊字符的示例:
SELECT 'It''s Sunday!' FROM DUAL;
It's Sunday!
SELECT 'Allo, C\'est moi.' FROM DUAL;
Allo, C'est moi.
SELECT 'Mon\tTue\tWed\tThu\tFri' FROM DUAL;
Mon Tue Wed Thu Fri
http://dba.fyicenter.com/faq/mysql/Escape-Special-Character.html
答案 1 :(得分:0)
INSERT INTO gauges (degreeValue,degreeValue1,degreeValue2) VALUES("56° 16’ 44’","56° 16’ 45’","56° 16’ 46'");
SELECT * FROM gauges;
结果:
56° 16’ 44’
56° 16’ 45’
56° 16’ 46'
将您的值插入"" (双引号)直接