用java连sql编写的一个程序,但是不知道为什么运行不通,希望高手进来看看帮帮忙
代码如下
import java.sql.*;
public class sqltry
{
public static void main (String[] args)
{
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=test";
String userName = "lysander";
String userPwd = ""; Connection dbConn ; try
{
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("Connection Successful!");
} catch (Exception e)
{ e.printStackTrace(); }
sqltry.executeUpdateStatement(dbConn);
}
public sqltry()
{
}
public static void executeUpdateStatement(Connection con)
{
try
{
String SQL = "SELECT * FROM [test].[dbo].[学校代码表] ORDER BY 最低分数";
String SQL1 = "use test";
String SQL2 ="INSERT INTO [test].[dbo].[学校代码表]([学校代码],[学校名],[招生人数],[最低分数]) VALUES (001,ybo1,2000,469)";
Statement stmt = con.createStatement();
boolean a=stmt.execute(SQL1);
int count = stmt.executeUpdate(SQL2);
System.out.println("use test datebase "+a+"ROWS AFFECTED: " + count);
ResultSet rs = stmt.executeQuery(SQL);
while(rs.next)
{
System.out.println(rs.getString("学校名") + ", " + rs.getString("学校代码"));
}
stmt.close();
rs.close();
}
catch (Exception e)
{e.printStackTrace();}
}
}
代码如下
import java.sql.*;
public class sqltry
{
public static void main (String[] args)
{
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=test";
String userName = "lysander";
String userPwd = ""; Connection dbConn ; try
{
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("Connection Successful!");
} catch (Exception e)
{ e.printStackTrace(); }
sqltry.executeUpdateStatement(dbConn);
}
public sqltry()
{
}
public static void executeUpdateStatement(Connection con)
{
try
{
String SQL = "SELECT * FROM [test].[dbo].[学校代码表] ORDER BY 最低分数";
String SQL1 = "use test";
String SQL2 ="INSERT INTO [test].[dbo].[学校代码表]([学校代码],[学校名],[招生人数],[最低分数]) VALUES (001,ybo1,2000,469)";
Statement stmt = con.createStatement();
boolean a=stmt.execute(SQL1);
int count = stmt.executeUpdate(SQL2);
System.out.println("use test datebase "+a+"ROWS AFFECTED: " + count);
ResultSet rs = stmt.executeQuery(SQL);
while(rs.next)
{
System.out.println(rs.getString("学校名") + ", " + rs.getString("学校代码"));
}
stmt.close();
rs.close();
}
catch (Exception e)
{e.printStackTrace();}
}
}
boolean a=stmt.execute(SQL1);
没什么用
上边的dbConn = DriverManager.getConnection(dbURL, userName, userPwd); 已经确定你用那个库了
{
String SQL = "SELECT * FROM [test].[dbo].[学校代码表] ORDER BY 最低分数";
//String SQL1 = "use test";
String SQL2 ="INSERT INTO [test].[dbo].[学校代码表]([学校代码],[学校名],[招生人数],[最低分数]) VALUES (001,ybo1,2000,469)";
Statement stmt = con.createStatement();
// boolean a=stmt.execute(SQL1);
int count = stmt.executeUpdate(SQL2);
//关了Statement
stmt.close();
System.out.println("use test datebase "+a+"ROWS AFFECTED: " + count);
//再建一Statement,下边的ResultSet用这个得到
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(SQL);
while(rs.next)
{
System.out.println(rs.getString("学校名") + ", " + rs.getString("学校代码"));
}
//关闭后来建的Statement
st.close();
rs.close();
}
catch (Exception e)
{e.printStackTrace();}
}
F:\java\sqltry.java:47: cannot resolve symbol
symbol : variable next
location: interface java.sql.ResultSet
while(rs.next)
^
我注释掉while语句以后,提示
F:\java\sqltry.java:24: variable dbConn might not have been initialized
sqltry.executeUpdateStatement(dbConn);
是不是和我sql server用windows认正的关系啊,不能连啊
改成
while(rs.next())