插入语句难度

时间:2013-11-26 01:35:31

标签: mysql netbeans-7

这是我从中获取信息的地方,当我选择地址时,它会填写所有信息 但是当我在删除租借者后尝试将租用者添加到租用者表时,问题就开始了。此表不再显示包含所有addressID的列,因此我也尝试从属性表中插入AddressID。我希望这是有道理的 我还无法插入图片,但这是我选择房产时的样子rentals


if ( ( evt.getStateChange() == java.awt.event.ItemEvent.SELECTED ) &&
     ( PropertyComboBox.getSelectedIndex() != 0 ) )
            {
                Address = ( String ) PropertyComboBox.getSelectedItem();


     try {
  myResultSet = myStatement.executeQuery(
            "SELECT Property.Address,Property.AddressID,Property.RentAmt, Renter.RenterID, Renter.AddressID, Renter.FirstName, Renter.LastName, Renter.CellPhone, Renter.DepositPaid,Renter.DepositAmtPaid " +
             "FROM Property, Renter " +
"WHERE Property.Address = '" + Address + "'" +  "AND Renter.AddressID = Property.AddressID" );


if (myResultSet.next())
            {
                renterID = (myResultSet.getString("Renter.RenterID"));
                addressID = (myResultSet.getString("Property.AddressID"));


        txtRentAmt.setText(myResultSet.getString("Property.RentAmt"));
        txtShowAddressID.setText(myResultSet.getString("Property.AddressID"));

        txtShowRenterID.setText(myResultSet.getString("Renter.RenterID"));

        txtFirstName.setText(myResultSet.getString("Renter.FirstName"));
    txtLastName.setText(myResultSet.getString("Renter.LastName"));
        txtCellPhone.setText(myResultSet.getString("Renter.CellPhone"));
    txtDepositPaid.setText(myResultSet.getString("Renter.DepositPaid"));
        txtDepositAmtPaid.setText(myResultSet.getString("Renter.DepositAmtPaid"));


        if(myResultSet.getString("Renter.DepositPaid") == ("Y"))
          {
           txtDepositPaid.setText("Y");
          }

                else
                {
                    txtDepositPaid.setText("N");
                }
            }
        }

  

有人可以帮我吗?我想插入一个新的租房者   从netbeans jform到我的数据库。地址ID   (属性表中的PK,自动增量)应该是自动的   插入到租用者表AddressID(FK,自动递增(所以我   以为)

     

如果我使用此语句,它将插入,但是地址ID显示为   NULL,而不是我需要的属性表中的AddressID。我有   自星期六以来一直在努力。 UGH请帮忙!很简单,但是   我无法弄清楚

 ls_query = "INSERT INTO Renter  (FirstName,LastName,CellPhone,DepositPaid,DepositAmtPaid)" 
                    + " VALUES (" + addressID + ",'" 
                    + addFirstName + "','" 
                    + addLastName + "','" 
                    + addCellPhone + "','" 
                    + addDepositPaid + "'," 
                    + addDepositAmtPaid + ")" + " WHERE Property.AddressID = " + addressID ;

2 个答案:

答案 0 :(得分:0)

您需要在字段列表中指定AddressID

...INTO Renter (AddressID, FirstName...

假设您指定了表中的所有列,则可以省略字段列表。

您可能对INSERT ... SET语法更为熟悉。

答案 1 :(得分:0)

INSERT加WHERE?我想你需要UPDATE,而不是INSERT http://dev.mysql.com/doc/refman/5.0/en/update.html

编辑:目前尚不清楚,你是将一个表中的insert与另一个表中的where混合在一起?只是在没有WHERE的情况下执行“INSERT ...(fields)VALUES(values)”并在字段上指定所有addressID。 / p>