Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何更新表中的列值?_Java - Fatal编程技术网

Java 如何更新表中的列值?

Java 如何更新表中的列值?,java,Java,这段代码有什么问题?其中,使用相同的最后一个值更新所有列的值 public class dbconnection { java.sql.Connection con; java.sql.Statement st; ResultSet rs; public EncBean getConnection()throws SQLException{ EncBean encBean1 = new EncBean(); String v_url= "jdbc:oracle:thin:@192.168

这段代码有什么问题?其中,使用相同的最后一个值更新所有列的值

public class  dbconnection {
java.sql.Connection con;
java.sql.Statement st;
ResultSet rs;
public   EncBean getConnection()throws SQLException{
EncBean encBean1 = new EncBean(); 
String v_url= "jdbc:oracle:thin:@192.168.2.138:1522:orcl2";
String v_username= "scott";
String v_password = "tiger";

    try
    {
DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
con = DriverManager.getConnection(v_url,v_username,v_password); 
System.out.println ("Connection to Oracle database  was Established");
    }


catch ( SQLException e) 
{
 e.printStackTrace();
}
return encBean1;
}

public   EncBean selectRows()

{
 EncBean encBean2 = new EncBean(); 
try
    {

    String SQLselect="select JOB_NAME from job";
    st=con.createStatement();
    rs=st.executeQuery(SQLselect);

while (rs.next()) {

    encBean2.setName(rs.getString("JOB_NAME"));
                }   

    }
 catch ( Exception ex ) 
{
 ex.printStackTrace();
}

return encBean2;
}


public  void updateRows(String updatedname){

try
{
Statement stmt =   con.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_UPDATABLE);

ResultSet srs = stmt.executeQuery("select job_name from job " );

  while (srs.next()) {

  srs.updateString("job_name", updatedname);
  srs.updateRow();
  con.commit();} 
  System.out.println("An existing user was updated successfully!");}
  catch(SQLException err){
  System.out.println(err.getMessage());
  }}}       
这是主要原因

public class mainenc {

 public static void main(String[] args) throws Exception{
 dbconnection dbcon = new dbconnection();
 EncBean encbeancon=    dbcon.getConnection();
 EncBean encBean5 = dbcon.selectRows(); 
 enc concatinputs = new enc();  
 EncBean encBeanconcat = concatinputs.funconcat(encBean5.getName());
 EncBean encBean4 =    concatinputs.inputencryption(encBeanconcat.getConcatenatedData());
 String vReserverbin= encBean4.getReversedBinary();
 String  ascistring=  concatinputs.convertBinaryStringToString(vReserverbin);
  dbcon.updateRows(ascistring); 
    }}
这段代码有什么问题?其中,使用相同的最后一个值更新所有列的值

public class  dbconnection {
java.sql.Connection con;
java.sql.Statement st;
ResultSet rs;
public   EncBean getConnection()throws SQLException{
EncBean encBean1 = new EncBean(); 
String v_url= "jdbc:oracle:thin:@192.168.2.138:1522:orcl2";
String v_username= "scott";
String v_password = "tiger";

    try
    {
DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
con = DriverManager.getConnection(v_url,v_username,v_password); 
System.out.println ("Connection to Oracle database  was Established");
    }


catch ( SQLException e) 
{
 e.printStackTrace();
}
return encBean1;
}

public   EncBean selectRows()

{
 EncBean encBean2 = new EncBean(); 
try
    {

    String SQLselect="select JOB_NAME from job";
    st=con.createStatement();
    rs=st.executeQuery(SQLselect);

while (rs.next()) {

    encBean2.setName(rs.getString("JOB_NAME"));
                }   

    }
 catch ( Exception ex ) 
{
 ex.printStackTrace();
}

return encBean2;
}


public  void updateRows(String updatedname){

try
{
Statement stmt =   con.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_UPDATABLE);

ResultSet srs = stmt.executeQuery("select job_name from job " );

  while (srs.next()) {

  srs.updateString("job_name", updatedname);
  srs.updateRow();
  con.commit();} 
  System.out.println("An existing user was updated successfully!");}
  catch(SQLException err){
  System.out.println(err.getMessage());
  }}}       

更新方法后,应再次编写列表方法。

尝试以下示例:

 UPDATE tableB
 SET tableB.value , tableA.value, tableB.value)
 WHERE tableA.name = 'Joe'

这有点明显:
dbcon.updateRows(…)
调用update方法,该方法完成任务

但正如Erhan所说,你看不到结果,因为你实际上没有使用更新的记录,例如显示它们等等。至少,如果op完成,你可以在DB级别检查它

但我真的不喜欢你的评论:


你能帮我吗


当你需要帮助时,你应该做你自己的任务并寻求帮助。但千万不要指望别人来做你的工作伙伴。

第一个问题:你的缩进太疯狂了。第二个问题:你的命名约定太疯狂了。请你帮我做一下好吗?我来描述一下birefly。你连接数据库并列出你的记录。之后更新了它们。到目前为止没有问题。现在你应该再次列出方法。也许写getConnection()更新方法结束。谢谢你的回复,但我尝试了更多,然后我请求他这么做