sql语法没问题缺一直报错

DBUtildb=newDBUtil();Connectionconn=db.getConnection();//我之前定义的类用来连接数据库Stringsql="del... DBUtil db = new DBUtil();
Connection conn = db.getConnection();//我之前定义的类用来连接数据库
String sql = "delete from employee where 住客姓名 = name" ;
Statement stmt = conn.createStatement();
stmt.executeUpdate(sql);
stmt.close();
conn.close();
就是这样的代码 运行的时候一直说我的sql语句的语法错误。求大神解答!
展开
 我来答
tjrmgs
2019-01-10 · TA获得超过5765个赞
知道大有可为答主
回答量:2161
采纳率:94%
帮助的人:1048万
展开全部
题主的语法应该真的错了。

首先字段名"住客姓名"和字段值"name"可能被掉反了,请检查数据表"employee"的正确结构予以核实。其次sql语句中引用字符串型数据值必须加一对引号''将该字符串括起来。

请参考下列写法尝试一下:

String sql = "delete from employee where name='张三'"

这里假设字段名是"name",住客名是"张三"
hit_and_run_x
2019-01-10 · TA获得超过131个赞
知道答主
回答量:217
采纳率:55%
帮助的人:55.5万
展开全部
你的这个name肯定是 java的一个变量吧,变量和SQL语句连在一起要用 +号 还要注意SQL的字符串使用单引号括起来的。
sql = "delete from employee where 住客姓名 = name" ;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鲍馨有曜
2019-10-06 · TA获得超过3805个赞
知道大有可为答主
回答量:3132
采纳率:28%
帮助的人:226万
展开全部
我们一般都不这么写的,我们一般都在sql语句里面写?占位符,而不是字符串直接拼接,这样会有sql注入的问题的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tj_angela
2019-01-10 · TA获得超过7530个赞
知道大有可为答主
回答量:6797
采纳率:75%
帮助的人:2593万
展开全部
这种类似问题最好的办法就是把你拼接的sql打印出来,
然后就很直白的看得出问题在哪里了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b7238ee
2019-01-09 · TA获得超过6287个赞
知道大有可为答主
回答量:6766
采纳率:73%
帮助的人:359万
展开全部
亲,VSG.FEE_END_TIME>='2013-07-01'这个不能这样写,
如果是oracle需要这样写VSG.FEE_END_TIME>to_ddate('2013-07-01','yyyy-mm-dd')
sqlserver也要做类似的转换,不记得怎么转了,自己查查
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式