我在制作删除信息的时候遇到了问题
 这个是列车编号为数字的代码 ,但是我想知道如果我的列车编号delNO不是纯数字,是字母加数字应该怎么写呢
 列车编号是纯数字的代码如下:        你选定了下列编号的列车:
<%
String[] delNoSet = request.getParameterValues("delNo");

for(int i=0;i<delNoSet.length;i++)
{
%>
<%=delNoSet[i]%> ,
<%
}
Connection con = DriverManager.getConnection("jdbc:odbc:liecheshikebiao","Administrator","111");
if(delNoSet.length>0);
   {
   for(int i=0;i<delNoSet.length;i++)
   {    
                     PreparedStatement sta =con.prepareStatement("delete * from beijing where 
                     编号="+Integer.parseInt(delNoSet[i]));
   sta.execute();
   }
   }
 con.close();
%>

解决方案 »

  1.   

    PreparedStatement sta =con.prepareStatement("delete * from beijing where 
      编号='"+Integer.parseInt(delNoSet[i])+"'");
      

  2.   

    我还是不太明白  能配上中文说明么  之前我做删除功能的时候  编号是纯数字  如:1,2,3 现在我的编号变成了 L1,L2,L3 我就不太清楚代码该怎么写了  麻烦帮帮我
      

  3.   

    你数据表 beijing 编号的数据类型是什么啊?你之前那么写如果能删除成功的话,那编号就是数字型,如果是字符型,之前你那么肯定删除不了。。你现在说编号又变成字母加数字,那就是字符型了,那你这个是怎么插入到数据库的呢?所以说你说的很矛盾啊。。你的编号是字符型的话,sql文拼接的话要加上单引号,或者是  编号=?,
    然后sta.setString(1, delNoSet[i])
      

  4.   

    之前我beijing表里编号字段的数据类型是数字,上面的代码就是之前写的,删除功能可以实现后来我想把beijing表里的编号字段的数据类型换成文本,因为我想用数字加字母表达编号如:T30 不知道在这种情况下如何实现删除功能
      

  5.   

    这个话 你就不用类型转换了  直接
    PreparedStatement sta =con.prepareStatement("delete * from beijing where  
      编号=‘delNoSet[i]’);
    或者PreparedStatement sta =con.prepareStatement("delete * from beijing where  
      编号=?);
    sta.setString(1,delNoSet[i]);(下标值从1开始)
      

  6.   

    如果编号是字符串类型的,你使用连接sql的话应该是如上,因为不在编号=后面加'和追加字符串结束后加'数据库会认为是int类型,而你实际是varchar类型,所以会报错的.或者向5楼那样给参数设值.