sql语句执行删除时怎么就对数字有效果?

lanxiupu 2006-03-23 12:38:11
在servlet中使用如下语句:
String deleteWordStyle = request.getParameter("deleteWordStyle");
String deleteWord = request.getParameter("deleteWord");
String selectStatement="delete from escuage where "+deleteWordStyle+"="+deleteWord;
prepStmt = con.prepareStatement(selectStatement)

"deleteWord"对数字有效,当他是字母和汉字时都不行
看了好两天了,也没弄好
还望各位多多指教!!
...全文
338 25 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
嗯....
语法不能随便乱用,需要用什么才用什么,必须怎么用就怎么用.
就是语法不过关,不用问人,自己先潜下心看完并记住书里的基础再说.
itzhiren 2006-03-24
  • 打赏
  • 举报
回复
预处理。。。。还真没看见呢
conan19771130 2006-03-24
  • 打赏
  • 举报
回复
string.Format("delete from escuage where 列名='{0}'",内容)
xiongbing528 2006-03-23
  • 打赏
  • 举报
回复
con.prepareStatement(selectStatement)




.看清楚点啊。.是预处理啊. "?"占位符呢
String selectStatement="delete from escuage where ?=?;


prepStmt.setString(1,deleteWord);
prepStmt.setString(2,deleteWordStyle);

aywrenyue 2006-03-23
  • 打赏
  • 举报
回复
String selectStatement="delete from escuage where "+deleteWordStyle+"="+deleteWord;
--
String selectStatement="delete from escuage where "+deleteWordStyle+"='"+deleteWord+"'";
sql的数据类型转换的问题

-------------------------------------------------------------
同意以上说法

---------------------------
仔细检查代码,unclosed character literal错误是字符串不完整
rickhunterchen 2006-03-23
  • 打赏
  • 举报
回复
看你报的什么错误,是数据库返回的错误,那说明你的数据库有问题.
lanxiupu 2006-03-23
  • 打赏
  • 举报
回复
问题依旧,还是删除数字时有效
删除字母和汉字就不行了
marine_chen 2006-03-23
  • 打赏
  • 举报
回复
en
lanxiupu 2006-03-23
  • 打赏
  • 举报
回复
好,我再试试
marine_chen 2006-03-23
  • 打赏
  • 举报
回复
那就改为:
String selectStatement="delete from escuage where 主键1 ='" + deleteWord + "' and 主键2 = '" + deleteWordStyle + "'";

删除一个数据很简单啊
别弄复杂化了
lanxiupu 2006-03-23
  • 打赏
  • 举报
回复
表的主键有两个
deleteWord只是其中一个
感谢大家来关心
marine_chen 2006-03-23
  • 打赏
  • 举报
回复
表的主键是哪个?

String selectStatement="delete from escuage where "+deleteWordStyle+"="+deleteWord;

改为:
String selectStatement="delete from escuage where 主键 = '" + deleteWord + "'";
itzhiren 2006-03-23
  • 打赏
  • 举报
回复
"delete from escuage where "+deleteWordStyle+"="+deleteWord

把这一句输出看看,有什么错误没有?
jspfans 2006-03-23
  • 打赏
  • 举报
回复
你肯定不是按照二楼哪样的写法,unclosed character literal,,你的引号数目不是双数,或引的不对,二楼的没错的,你看看整个程序有没有未完成的引号啊,楼主不会还是用记事本来写程序吧?
lanxiupu 2006-03-23
  • 打赏
  • 举报
回复
加了,我都试了
程序中我是 String deleteWord

数据库中是char(20)
sssss342072 2006-03-23
  • 打赏
  • 举报
回复
就是没加单引号啊,2楼都写出来了,还有问题就是你本身数据字段deleteWordStyle的类型,不对应了
lanxiupu 2006-03-23
  • 打赏
  • 举报
回复
各位,能在帮我看看么?
lanxiupu 2006-03-23
  • 打赏
  • 举报
回复
错误就是unclosed character literal

我上面的语句可以删除数据库中的数字
可是删不成字母和汉字
刚吃饭去了
回晚了,对不起
jspfans 2006-03-23
  • 打赏
  • 举报
回复
错误什么样?贴出来看看
lanxiupu 2006-03-23
  • 打赏
  • 举报
回复
加一个单引号时是两个错误,两个单引号时是四个错误

我知道你的意思,deleteWord是变量,不是常量
加载更多回复(5)

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧