连接到数据库的 JFrame 中的语法错误
Syntax Error in JFrame Connected to Database
我是一名业余高中程序员,使用 NetBeans IDE
构建 Java 程序。该程序本身非常简单:一个 JFrame
打开成两个独立的程序(addMedicine
和 takeMedicine
)。 addMedicine
框架连接到 NetBeans 上的数据库,但每当我编译时,会出现通向其他两个框架的主框架,但是一旦从主框架中单击 addMedicine
,我就会得到这个:
Syntax error: Encountered "Add" at line 1, column 15.
我检查了我的程序的第 1 行和第 15 列,但没有发现任何包含单词 "Add" 的内容。请检查我的源代码以找出任何错误。
package my.addMedicine;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
import javax.swing.JOptionPane;
public class addMedicine extends javax.swing.JFrame {
Connection con;
Statement stmt;
ResultSet rs;
public addMedicine()
{
initComponents();
DoConnect();
}
private void DoConnect(){
try
{
String host = "jdbc:derby://localhost:1527/Add Medicine";
String uName = "apandia";
String uPass = "olympics2012";
con = DriverManager.getConnection(host, uName, uPass);
stmt = con.createStatement();
String SQL = "SELECT * FROM Add Medicine";
rs = stmt.executeQuery (SQL);
rs.next();
String NAMEMEDICINE = rs.getString("NAMEMEDICINE");
int MGDOSAGE_col = rs.getInt("MGDOSAGE");
String MGDOSAGE = Integer.toString( MGDOSAGE_col );
String DAYS = rs.getString("DAYS");
int NUMBERTIMES_col = rs.getInt("NUMBERTIMES");
String NUMBERTIMES = Integer.toString( NUMBERTIMES_col );
textNAMEMEDICINE.setText(NAMEMEDICINE);
textDose.setText(MGDOSAGE);
textDAYS.setText(DAYS);
textNUMBERTIMES.setText(NUMBERTIMES);
}
catch (SQLException err)
{
JOptionPane.showMessageDialog(this, err.getMessage());
}
}
尝试使用 while
循环而不是像这样只使用 rs.next();
:
while(rs.next()){
your code
...
或者只使用if
语句:
if(rs.next()){
your code
...
SELECT * FROM Add Medicine
123456789012345 <- column 15!
我是一名业余高中程序员,使用 NetBeans IDE
构建 Java 程序。该程序本身非常简单:一个 JFrame
打开成两个独立的程序(addMedicine
和 takeMedicine
)。 addMedicine
框架连接到 NetBeans 上的数据库,但每当我编译时,会出现通向其他两个框架的主框架,但是一旦从主框架中单击 addMedicine
,我就会得到这个:
Syntax error: Encountered "Add" at line 1, column 15.
我检查了我的程序的第 1 行和第 15 列,但没有发现任何包含单词 "Add" 的内容。请检查我的源代码以找出任何错误。
package my.addMedicine;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
import javax.swing.JOptionPane;
public class addMedicine extends javax.swing.JFrame {
Connection con;
Statement stmt;
ResultSet rs;
public addMedicine()
{
initComponents();
DoConnect();
}
private void DoConnect(){
try
{
String host = "jdbc:derby://localhost:1527/Add Medicine";
String uName = "apandia";
String uPass = "olympics2012";
con = DriverManager.getConnection(host, uName, uPass);
stmt = con.createStatement();
String SQL = "SELECT * FROM Add Medicine";
rs = stmt.executeQuery (SQL);
rs.next();
String NAMEMEDICINE = rs.getString("NAMEMEDICINE");
int MGDOSAGE_col = rs.getInt("MGDOSAGE");
String MGDOSAGE = Integer.toString( MGDOSAGE_col );
String DAYS = rs.getString("DAYS");
int NUMBERTIMES_col = rs.getInt("NUMBERTIMES");
String NUMBERTIMES = Integer.toString( NUMBERTIMES_col );
textNAMEMEDICINE.setText(NAMEMEDICINE);
textDose.setText(MGDOSAGE);
textDAYS.setText(DAYS);
textNUMBERTIMES.setText(NUMBERTIMES);
}
catch (SQLException err)
{
JOptionPane.showMessageDialog(this, err.getMessage());
}
}
尝试使用 while
循环而不是像这样只使用 rs.next();
:
while(rs.next()){
your code
...
或者只使用if
语句:
if(rs.next()){
your code
...
SELECT * FROM Add Medicine
123456789012345 <- column 15!