为什么Java 数据库查询语句不能有中文
如:Class.forName(driver).newInstance();conn=DriverManager.getConnection(url,"root","my...
如:
Class.forName(driver).newInstance();
conn=DriverManager.getConnection(url,"root","mysql");
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
String execute="delete from tableuse where 桌号=\""+tableNumber+"\";";
stmt.execute(execute);
conn.close();
在 桌号字段会出现问题,为什么? 展开
Class.forName(driver).newInstance();
conn=DriverManager.getConnection(url,"root","mysql");
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
String execute="delete from tableuse where 桌号=\""+tableNumber+"\";";
stmt.execute(execute);
conn.close();
在 桌号字段会出现问题,为什么? 展开
8个回答
展开全部
数据库中的表字段名不能为中文。比如你的“桌号”就是表“tableuse”的一个字段,故不能为中文,你可以把表中的字段名改为“tableno”,然后把SQL语句改为String execute="delete from tableuse where tableno=\""+tableNumber+"\";"; 就行了!
追问
谢谢!
但我想知道为什么在Navicat for MySQL 里去查询这段语句就可以
追答
那可能是因为开发工具的不同,所以对中文的兼容也不同。不过一般来说,在数据库里最好不要使用中文,即使不知道英文怎么写,那用汉语拼音代替也行(当然最好还是用英文)。如果硬要用中文的话,可能会遇到很多不必要的麻烦。
展开全部
这个“桌号”是指表的字段名,表的字段名是不能有中文的,如果“桌号”是字段名的值,那是可以的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
validate.jsp
<%@page contentType="text/html"%>
<%@page pageEncoding="GB2312"%>
<%
String uname=(String)session.getAttribute("uname");
if(uname==null){
response.sendRedirect("error.jsp");
}
%>
<%@page contentType="text/html"%>
<%@page pageEncoding="GB2312"%>
<%
String uname=(String)session.getAttribute("uname");
if(uname==null){
response.sendRedirect("error.jsp");
}
%>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为数据库不是中国的。。。要是nb的数据库全是中国出的,不用中文也不行啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
字符编码问题.转化成utf-8.
追问
请问怎么转?
追答
JSP里
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-12-26
展开全部
可以有中文啊!比如表名,字段名……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询