CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

在插入数据时用的判断语句应该是什么?

楼主tylhy(小小)2004-07-01 08:38:32 在 Java / J2SE / 基础类 提问

在程序中用   if(st.next())   会出错那应该用什么?                    
   
  import   java.io.*;  
  import   java.sql.*;  
  import   javax.swing.*;  
   
  public   class   a3{  
    public   static   void   main(String   args[]){  
      try{    
      String   pass="123";  
      String   sname="abc";  
      String   ia="ccc";  
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  
      String   su="jdbc:odbc:driver={Microsoft   Access   DriVer   (*.mdb)};DBQ=lga.mdb";  
      Connection   conn=DriverManager.getConnection(su,"","");    
      Statement   state=conn.createStatement();  
      String   sSQLi="INSERT   INTO   User   VALUES('"+sname+"','"+pass+"','"+ia+"')";  
      int   st=state.executeUpdate(sSQLi);  
                if(st.next()){                        
                      JOptionPane.showMessageDialog(null,"已经添一条记录","姓名:"+sname+"地址:   "+ia+"   密码:   "+pass,JOptionPane.INFORMATION_MESSAGE);}  
                else{  
                      JOptionPane.showMessageDialog(null,"添加记录失败!","添加状态:",JOptionPane.INFORMATION_MESSAGE);}      
      state.close();  
      conn.close();}  
      catch(Exception   e){e.printStackTrace();}}  
  }  
   
  问题点数:88、回复次数:11Top

1 楼ecaol(大家先别冲动,此事还须从长计议。)回复于 2004-07-01 08:41:17 得分 0

UPTop

2 楼FrankTong(彤瞳)回复于 2004-07-01 08:42:08 得分 0

st是int,不是ResultSet你要注意Top

3 楼tylhy(小小)回复于 2004-07-01 08:43:15 得分 0

可是应该怎么样写判断呢?Top

4 楼haroyy(天平)回复于 2004-07-01 09:50:51 得分 0

先select查询,如果记录不存在,再执行插入操作Top

5 楼xujun581(踏雪无痕)回复于 2004-07-01 09:57:43 得分 0

ResultSet   st=state.executeUpdate(sSQLi);  
                if(st.next())Top

6 楼icystone(石冰)回复于 2004-07-01 10:07:02 得分 0

stmt.executeUpdate返回的是受影响的纪录的条数,你这么写肯定不对呀!Top

7 楼MyXin(快乐每一天)回复于 2004-07-01 10:08:00 得分 30

if(st.next()){             ---------->   if(st>=0)     即可!Top

8 楼cosmos10051982(程风破浪)回复于 2004-07-01 10:18:11 得分 30

int   st=state.executeUpdate(sSQLi);  
  这是一条执行更新(插入或删除)语句,返回的是更新(插入或删除)影响的纪录数  
  只要判断st   >   0就可以知道更新是否被执行  
   
  而你写的是if(st.next()){代码...}对于一个INT的变量没有这个.next()  
  在执行查询的时候返回的才是ResultSetTop

9 楼wandou999(弯豆)回复于 2004-07-01 11:10:46 得分 0

int   st=state.executeUpdate(sSQLi);--->int改成ResultSetTop

10 楼imA(男的不会,会的不男)回复于 2004-07-01 11:29:43 得分 28

import   java.io.*;  
  import   java.sql.*;  
  import   javax.swing.*;  
   
  public   class   a3{  
    public   static   void   main(String   args[]){  
      try{    
      String   pass="123";  
      String   sname="abc";  
      String   ia="ccc";  
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  
      String   su="jdbc:odbc:driver={Microsoft   Access   DriVer   (*.mdb)};DBQ=lga.mdb";  
      Connection   conn=DriverManager.getConnection(su,"","");    
      Statement   state=conn.createStatement();  
      String   sSQLi="INSERT   INTO   User   VALUES('"+sname+"','"+pass+"','"+ia+"')";  
      int   st=state.executeUpdate(sSQLi);  
                if(st>0){                        
                      JOptionPane.showMessageDialog(null,"已经添一条记录","姓名:"+sname+"地址:   "+ia+"   密码:   "+pass,JOptionPane.INFORMATION_MESSAGE);}  
                else{  
                      JOptionPane.showMessageDialog(null,"添加记录失败!","添加状态:",JOptionPane.INFORMATION_MESSAGE);}      
      state.close();  
      conn.close();}  
      catch(Exception   e){e.printStackTrace();}}  
  }  
  Top

11 楼wht5555(wht)回复于 2004-07-01 11:58:58 得分 0

upTop

相关问题

  • 我的数据库插入语句啊~~
  • 求插入数据的sql语句
  • Access数据库中插入,修改SQL语句怎么写?
  • 一个插入数据的sql语句执行不了
  • 用SQL语句如何插入如下条件的数据
  • insert into语句插入数据库出问题,请指正一下
  • 从两个表A,B中取数据,插入C表的语句
  • 请教循环插入数据的SQL语句??谢谢
  • 请教SQL语句,多层结构插入数据库问题.
  • 请教:一条sqlsever数据插入语句?(急用)

关键词

  • jdbc
  • null
  • ssqli
  • joptionpane
  • 插入
  • sname
  • ia
  • executeupdate
  • showmessagedialog
  • st

得分解答快速导航

  • 帖主:tylhy
  • MyXin
  • cosmos10051982
  • imA

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo