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号仓)之类的,求大神帮助啊~ 展开
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号仓)之类的,求大神帮助啊~ 展开
展开全部
你用的是什么数据库了?你试试当为abc等英文单词时,可不可一删除,是不是中文乱码了?
MYSQL数据库的话,他数据库编码默认是拉丁文,不支持中文,需要修改为utf-8或gbk
MYSQL数据库的话,他数据库编码默认是拉丁文,不支持中文,需要修改为utf-8或gbk
追问
我查了一下,是乱码问题,数据库字符串编码要在哪里设置呢?我连的是Access
追答
access没有用过,刚才我查了一下access是支持中文的。
你先不要用?试试,就是将参数直接写在sql语句中,然后输出sql语句,看看有没有乱码,解决掉乱码后,看看可不可不查询了。一般没有乱码就可以查询了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你链接数据库的时候,数据库字符串编码考虑进去了么?
更多追问追答
追问
我查了一下,是乱码问题,数据库字符串编码要在哪里设置呢?我连的是Access
追答
你先看看show create table查一查你建表的时候的字符支持 要是建表是拉丁的话 你需要对数据库重建表的 如果建表是中文的话 你就直接在链接的时候加上你支持的字符编码就行了 jdbc:mysql://localhost:3306/babydb?autoReconnect=true&useUnicode=true&characterEncoding=UTF8这样就行了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
删除肯定是根据主键删啊,你看看你的主键是哪个
追问
主键就是granaryNo
追答
输出一下你得到的granaryNo,看看是什么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
打印一下sql语句,在工具里面看可以执行吗?估计是没有加‘’
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用串的话 等号中要加 引号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
delete from TEST where granaryNo=‘?‘
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询