Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 连接到数据库的JFrame中出现语法错误_Java_Sql_Prepared Statement - Fatal编程技术网

Java 连接到数据库的JFrame中出现语法错误

Java 连接到数据库的JFrame中出现语法错误,java,sql,prepared-statement,Java,Sql,Prepared Statement,我是一名业余高中程序员,使用NetBeans IDE构建Java程序。该程序本身非常简单:一个JFrame,它打开为两个独立的框架(addMedicine和takeMedicine)。addMedicine框架连接到NetBeans上的一个数据库,但每当我编译时,就会出现引导到另外两个框架的主框架,但一旦从主框架单击addMedicine,我就会得到以下信息: Syntax error: Encountered "Add" at line 1, column 15. 我在第1行和第15列检查了

我是一名业余高中程序员,使用NetBeans IDE构建Java程序。该程序本身非常简单:一个
JFrame
,它打开为两个独立的框架(
addMedicine
takeMedicine
)。
addMedicine
框架连接到NetBeans上的一个数据库,但每当我编译时,就会出现引导到另外两个框架的主框架,但一旦从主框架单击
addMedicine
,我就会得到以下信息:

Syntax error: Encountered "Add" at line 1, column 15.
我在第1行和第15列检查了我的程序,但没有发现有“添加”这个词。请检查我的源代码以确定任何错误

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
 ...
从添加药物中选择*

123456789012345我猜它在抱怨您的SQL语句。单词Add在第15位。那个SQL在我看来不正确。嗨,安德鲁,谢谢你的帮助。我在添加药物的
SELECT*中的表不正确。我本来应该使用药物的,这就纠正了错误!
SELECT * FROM Add Medicine
123456789012345 <- column 15!