java中删除数据的问题,无法删除字符串

StringdeleSQL="deletefromTESTwheregranaryNo=?";Stringparameters[]={granaryNo};Prepare... String deleSQL = "delete from TEST where granaryNo=?";
String parameters[] = {granaryNo};
PreparedStatement pstmt = null;
try
{
conn=getConnection();
pstmt = conn.prepareStatement(sql);
if(parameters!=null)
{
for(int i=0;i<parameters.length;i++)
{
pstmt.setString(i+1,parameters[i]);
}

}
pstmt.executeUpdate();
}
catch(Exception e)
{
e.printStackTrace();
throw new RuntimeException(e.getMessage());
}
可以删除granaryNo为数字的(1,2,10等),不能删除granaryNo是字符串的(2#,2号仓)之类的,求大神帮助啊~
展开
 我来答
弹指间幸福5
2014-05-12 · 超过30用户采纳过TA的回答
知道答主
回答量:99
采纳率:0%
帮助的人:69.2万
展开全部
你用的是什么数据库了?你试试当为abc等英文单词时,可不可一删除,是不是中文乱码了?
MYSQL数据库的话,他数据库编码默认是拉丁文,不支持中文,需要修改为utf-8或gbk
追问
我查了一下,是乱码问题,数据库字符串编码要在哪里设置呢?我连的是Access
追答
access没有用过,刚才我查了一下access是支持中文的。

你先不要用?试试,就是将参数直接写在sql语句中,然后输出sql语句,看看有没有乱码,解决掉乱码后,看看可不可不查询了。一般没有乱码就可以查询了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不能飞的蒲公英
2014-05-12 · 超过13用户采纳过TA的回答
知道答主
回答量:32
采纳率:0%
帮助的人:32.1万
展开全部
你链接数据库的时候,数据库字符串编码考虑进去了么?
更多追问追答
追问
我查了一下,是乱码问题,数据库字符串编码要在哪里设置呢?我连的是Access
追答
你先看看show create table查一查你建表的时候的字符支持  要是建表是拉丁的话  你需要对数据库重建表的  如果建表是中文的话  你就直接在链接的时候加上你支持的字符编码就行了 jdbc:mysql://localhost:3306/babydb?autoReconnect=true&useUnicode=true&characterEncoding=UTF8这样就行了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ab5425670
2014-05-12
知道答主
回答量:43
采纳率:0%
帮助的人:13.8万
展开全部
删除肯定是根据主键删啊,你看看你的主键是哪个
追问
主键就是granaryNo
追答
输出一下你得到的granaryNo,看看是什么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9185c274b3
2014-05-12 · TA获得超过126个赞
知道答主
回答量:180
采纳率:0%
帮助的人:58.3万
展开全部
打印一下sql语句,在工具里面看可以执行吗?估计是没有加‘’
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
馒头GQ2
2014-05-12 · 超过23用户采纳过TA的回答
知道答主
回答量:84
采纳率:0%
帮助的人:40.1万
展开全部
用串的话 等号中要加 引号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhmboy11
2014-05-14 · 超过13用户采纳过TA的回答
知道答主
回答量:29
采纳率:0%
帮助的人:23.5万
展开全部
delete from TEST where granaryNo=‘?‘
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 6条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式