为什么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();
在 桌号字段会出现问题,为什么?
展开
 我来答
wxb90123911
2011-12-26
知道答主
回答量:23
采纳率:0%
帮助的人:12.6万
展开全部
数据库中的表字段名不能为中文。比如你的“桌号”就是表“tableuse”的一个字段,故不能为中文,你可以把表中的字段名改为“tableno”,然后把SQL语句改为String execute="delete from tableuse where tableno=\""+tableNumber+"\";"; 就行了!
追问
谢谢!
但我想知道为什么在Navicat for MySQL 里去查询这段语句就可以
追答
那可能是因为开发工具的不同,所以对中文的兼容也不同。不过一般来说,在数据库里最好不要使用中文,即使不知道英文怎么写,那用汉语拼音代替也行(当然最好还是用英文)。如果硬要用中文的话,可能会遇到很多不必要的麻烦。
person007
2011-12-27 · 超过14用户采纳过TA的回答
知道答主
回答量:29
采纳率:0%
帮助的人:27.4万
展开全部
这个“桌号”是指表的字段名,表的字段名是不能有中文的,如果“桌号”是字段名的值,那是可以的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名_热心网友
2012-01-08 · TA获得超过719个赞
知道大有可为答主
回答量:3827
采纳率:0%
帮助的人:8436万
展开全部
validate.jsp
<%@page contentType="text/html"%>
<%@page pageEncoding="GB2312"%>
<%
String uname=(String)session.getAttribute("uname");
if(uname==null){
response.sendRedirect("error.jsp");
}
%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友40d541e
2011-12-26 · TA获得超过146个赞
知道小有建树答主
回答量:328
采纳率:0%
帮助的人:113万
展开全部
因为数据库不是中国的。。。要是nb的数据库全是中国出的,不用中文也不行啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
长长寿寿星7549
2011-12-26 · TA获得超过551个赞
知道答主
回答量:498
采纳率:0%
帮助的人:241万
展开全部
字符编码问题.转化成utf-8.
追问
请问怎么转?
追答
JSP里
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-12-26
展开全部
可以有中文啊!比如表名,字段名……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式