建了ACCESS数据库TEST,并添加了数据源SQLTEST,查询的时候出错
import java.sql.*;
import java.lang.*;
public class database {
public static void main(String[] args){
String data="jdbc:odbc:sqltest";
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection(data,"","");
Statement st=con.createStatement();
ResultSet set=st.executeQuery("select number,name,age "+"from test.testtable "+"where (number='"+args[0]+"')");//错误指向这里,如果把args[0]换成具体的11,22,33,就可以查出来,或者去掉WHERE子句也可以,不知道到底错在那?
while(set.next()){
System.out.println(set.getString("number")+"\t"+set.getString("name")+"\t"+set.getString("age"));
}st.close();
}catch(SQLException s){System.out.print("sql error"+s.toString()+"\t"+s.getErrorCode()+"\t"+s.getSQLState());}
catch(ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
----------------解决方案--------------------------------------------------------
需要在编译时给与附值~
javac database.java
java database 11
这样就可以了
----------------解决方案--------------------------------------------------------
我用的是ECLIPSE 运行报错啊 怎么能赋值
----------------解决方案--------------------------------------------------------
你可以使用接受用户输入来实现,使用io包里面的就可以了~
用eclipse输入参数,我以前做过,但现在忘记要在哪里输入了……
----------------解决方案--------------------------------------------------------
最好还是用java datebase来传递参数吧
----------------解决方案--------------------------------------------------------
我也出国类似的错,一直都没搞定
----------------解决方案--------------------------------------------------------
不要用IDE,直接用JDK在DOS下面编译就可以了
----------------解决方案--------------------------------------------------------
args[0]是接收的命令行参数,你都没有给命令行参数当然不能用了
命令行:java class文件名 参数
----------------解决方案--------------------------------------------------------
import java.sql.*;
class JDBCConnection
{
static
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (Exception e)
{
e.printStackTrace();
}
}
JDBCConnection()
{
try
{
Connection conn = DriverManager.getConnection("jdbc:odbc:aa");
Statement stm=conn.createStatement();//状态集
ResultSet rst=stm.executeQuery("select * from bb");//结果集
while(rst.next())
{
String str1=rst.getString(1);
String str2=rst.getString(2);
System.out.println(str1+"\t\t"+str2);
}
rst.close();//关闭结果集
System.out.println("连接数据库成功...");
conn.close();
}
catch (SQLException e) {
e.printStackTrace();
}
}
}
class MainClass
{
public static void main(String[] args)
{
new JDBCConnection();
}
}
----------------解决方案--------------------------------------------------------