Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/126.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 从SQL中的单独表获取ID_Java_Sql_Intellij Idea_Derby - Fatal编程技术网

Java 从SQL中的单独表获取ID

Java 从SQL中的单独表获取ID,java,sql,intellij-idea,derby,Java,Sql,Intellij Idea,Derby,我有两张桌子,一张叫做会员: NAME | PERSONALNUMBER | ID | LUDDE | 9409251171 | 1 | 还有一个叫船: TYPE | LENGTH | MEMBERID | Motorsailer | 100.0 | null | 我想从成员处获取ID,并

我有两张桌子,一张叫做会员:

 NAME  |   PERSONALNUMBER  |               ID  |  
LUDDE  |       9409251171  |                1  |
还有一个叫船:

       TYPE  |           LENGTH  |         MEMBERID  |  
Motorsailer  |            100.0  |             null  | 
我想从成员处获取
ID
,并将其存储在
MEMBERID

现在,我尝试通过以下操作从特定成员处获取ID:

public void createBoat(Boat boat, Member member) {
    try {
        connection.createStatement().execute("Insert into BOAT (Type, Length) values " + boat.toString());
        connection.createStatement().executeQuery("SELECT ID FROM MEMBER WHERE NAME LIKE " + "'" + member.getName() + "'" );
    } catch(SQLException e) {
        System.out.println(e.getMessage());
    }
}

但是,我得到的是null而不是任何实际数据。

首先使用select语句从
成员
表中选择特定id。然后在
表的insert语句中使用该
成员id

您可以使用以下命令。您可能需要做一些小的修改。我不知道船的长度,所以我用100作为长度。我还假设成员id是一个整数

public void createBoat(Boat boat, Member member) {
    try {

        ResultSet rs=connection.createStatement().executeQuery("SELECT ID FROM MEMBER WHERE NAME =" + "'" + member.getName() + "'");
        while(rs.next()){
            int memberId=rs.getInt("ID");
            connection.createStatement().execute("Insert into BOAT (Type, Length,MEMBERID) values (" + boat.toString() ",100,"+memberId+" )");
        }
    } catch (SQLException e) {
        System.out.println(e.getMessage());
    }
}

抱歉,我看不出您得到的是“null”。您可以通过添加更多代码来帮助人们重现您的问题,或者您可以添加一些控制台输出。您不会对executeQuery()的结果执行任何操作。另外。如果使用'LIKE'函数,请不要忘记添加百分比符号,例如:“从名为“+”'%%“+MEMBER.getName()+“%”的成员中选择ID”。否则,您最好使用等于运算符“=”