gpt4 book ai didi

java - jdbc中连接对象Con的范围

转载 作者:行者123 更新时间:2023-12-02 08:17:26 25 4
gpt4 key购买 nike

*语法错误*

我的 JDBC 遇到问题。在这一行中:

Connection con =DriverManager.getConnection("jdbc:odbc:recordtbl","scott","tiger");

这里出现错误,我重命名了这个变量。

这是我的代码:

package md5IntegrityCheck;
import java.io.UnsupportedEncodingException;
import java.security.NoSuchAlgorithmException;
import java.util.Scanner;

import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MD5IntegrityCheck
{

public static void main(String[] args)
throws UnsupportedEncodingException, NoSuchAlgorithmException
{


Statement stmt;
ResultSet rs;
Connection con=null;
PreparedStatement pst=null;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con =DriverManager.getConnection("jdbc:odbc:recordtbl","scott","tiger");
}
catch(Exception ee)
{ee.printStackTrace( );}

System.out.println("Step 1");
System.out.println(con.isClosed());

System.out.println("Enter the filename");
Scanner scanner = new Scanner(System.in);
String filename=scanner.nextLine();
String chksumno="somevalue2";


// get the file name here and store it in filename variable;
MD5 md5 = new MD5(filename);
System.out.println("test");
chksumno = md5.getHashValue();

System.out.println("Step 2");
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:recordtbl","scott","tiger");

pst=con.prepareStatement("insert into recordtbl values(?,?)");

//System.out.println(pst.isClosed());
System.out.println("Step3");
pst.setString(1,filename);
System.out.println("Step 4");
pst.setString(2,chksumno);
System.out.println("Step 5");
pst.execute();

System.out.println("Statement was EXECUTED!");
con.close( );
}


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


if (args.length <= 0)
{
Md5Gui gui = new Md5Gui();
gui.runGui();
}
else
{
DoWork runningProgram = new DoWork();
runningProgram.run(args);
}
}
}

最佳答案

您已经在第二次尝试声明的作用域中声明了一个名为 con 的局部变量。这在 Java 中是不允许的。只需更改它,以便第二次它是赋值而不是声明:

con = DriverManager.getConnection("jdbc:odbc:recordtbl", "scott", "tiger");

(我会更改您的代码的其他各种内容,包括关闭 finally block 中的连接等,但这应该可以解决您眼前的问题。)

关于java - jdbc中连接对象Con的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6080527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com