eclipse链接MySQL数据库报错

今天自学数据库时,先是在MySQL中无法输入中文,百度查资料弄了很久,各种办法都试了一遍了还是不能解决

不过庆幸的是,在我重装十几遍之后奇迹般地成功了……

但是,还没高兴多久,问题就又来了……


“com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE dept='计算机'' at line 1”

代码如下:

package ch17;
import java.sql.*;
public class App17_15
{
	private static String driver="com.mysql.jdbc.Driver";
	private static String url="jdbc:mysql://localhost/StudentScore";
	private static String user="root";
	private static String password="3624";
	public static void main(String[] args)
	{
		Connection conn=null;
		Statement stmt=null;
		ResultSet rs=null;
		try
		{
			Class.forName(driver);
			conn=DriverManager.getConnection(url,user,password);
			String sql="SELECT sNo,sName,sex,age FROM"+
			"Student WHERE dept='计算机'";
			stmt=conn.createStatement();
			rs=stmt.executeQuery(sql);
			while(rs.next()) 
			{
				String no=rs.getString("sNo");
				String name=rs.getString("sName");
				String sex=rs.getString("sex");
				int age=rs.getInt("age");
				System.out.println(no+" "+name+" "+sex+" "+age);
			}
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
		finally
		{
			try
			{
				if(rs!=null)rs.close();
				if(stmt!=null)stmt.close();
				if(conn!=null)conn.close();
			}
			catch(Exception e)
			{
				e.printStackTrace();
			}
		}
	}
}

我反反复复地检查了十几遍,完全和书上是一毛一样的啊,为什么会报错?为什么?

然后无奈之下我又去问了度娘,无疑,几个小时过去了,问题还是问题……

直到发这篇文章的前一刻!我才找到了问题所在!!

直接把“String sql="SELECT sNo,sName,sex,age FROM"+

"Student WHERE dept='计算机'";”

修改成“String sql="SELECT sNo,sName,sex,age FROM Student WHERE dept='计算机'";”就好了。

(ps:书本告诉我:构造sql参数时,需要将表达式多行的字符串加上双引号并将各行用加号“+”链接起来,那究竟是为什么会出现编译错误?)

猜你喜欢

转载自blog.csdn.net/sylvia_17/article/details/80489078