JDBC连接SQLServer2000的时候出现如下错误,SP3补丁已经打了,能连上...
发布网友
发布时间:2024-10-09 06:07
我来回答
共3个回答
热心网友
时间:2024-10-12 12:37
rs = s.executeQuery("SELECT fileID,fileName FROM file");
这句错误。
file 是SQL语句中的关键字,不能这样用,不然会语法错误。而这里你想要的是表的名字。
所以改正法方为:
1、可以把表的名称由file改成T_file【最好这样,表名称前面都加一个T_,这样可以避免关键字】。
rs = s.executeQuery("SELECT fileID,fileName FROM T_file");
2、也可以这样[file],用方框号把file框起来。
rs = s.executeQuery("SELECT fileID,fileName FROM [file]");
热心网友
时间:2024-10-12 12:37
sql语句错了啊。。。。
热心网友
时间:2024-10-12 12:33
可能你执行sql语句的方法错了
private static final String url = "jdbc:jtds:sqlserver://localhost:1433/DB";
private static final String sUsr = "sa";
private static final String sPwd = "123";
public List<TbPreferences> getPreferences() {
final String sql = "select * from Tb_Preferences ";
List<TbPreferences> allPreferences = new ArrayList<TbPreferences>();
try {
// 这里的异常处理语句是必需的.否则不能通过编译!
Class.forName("net.sourceforge.jtds.jdbc.Driver");
Connection con = DriverManager.getConnection(url, sUsr, sPwd);
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(sql);
while (rs.next()) {
TbPreferences pre = new TbPreferences();
pre.setId(rs.getInt("Id"));// id
pre.setAddress(rs.getString("Address"));// address
pre.setUnit(rs.getString("Unit"));// unit
pre.setName(rs.getString("Name"));// name
pre.setPhone(rs.getString("Phone"));// phone
pre.setEmail(rs.getString("Email"));// email
allPreferences.add(pre);
}
rs.close();
st.close();
con.close();
} catch (Exception err) {
err.printStackTrace();
}
return allPreferences;
}
单独读取一张表的数据 你试试...