小编pkt*_*ndu的帖子

UPDATE如果存在则在SQL中INSERT

我正在尝试将SQL查询实现为"如果存在其他INSERT则更新"

我的表(Allowance)如下:

EmployeeID int(8) PK
Year year(4) PK
Month int(2) PK
OverTime decimal(10,2)
Medical decimal(10,2)
Lunch decimal(10,2)
Bonus decimal(10,2)
Allowance decimal(10,2)
Run Code Online (Sandbox Code Playgroud)

下面是我试过的SQL查询:

IF EXISTS (SELECT * FROM Allowance WHERE EmployeeID =10000001 and Year = 2014 and Month = 4)
    UPDATE Allowance
    SET OverTime = 10.00, Medical = 10.00, Lunch = 10.45, Bonus =10.10, Allowance = 40.55
    WHERE EmployeeID =10000001 and Year = 2014 and Month = 4
ELSE
    INSERT into Allowance values (10000001,2014,4,10.00,10.00,10.45,10.10,40.55)
Run Code Online (Sandbox Code Playgroud)

我一直收到此错误消息:

"#1064 - 您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以便在'IF EXISTS(SELECT*FROM …

mysql sql

3
推荐指数
2
解决办法
1万
查看次数

将数据从mysql db检索到textfield

我正在尝试实施薪资系统并遇到一些问题.该程序需要能够从mysql db检索数据到jtextfield.

当我尝试搜索时,我得到并且错误地说"com.mysql.jdbc.exception.jdbc4.MySQLSyntaxErrorException.您的SQL systax中有错误;请查看与您的MySQL服务器版本对应的手册,以便在正确的语法附近使用' ?在第1行"

package AppPackage;

import java.sql.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.logging.Level;
import java.util.logging.Logger;

public class AllowanceGUI extends javax.swing.JFrame {

Connection conn=null;
PreparedStatement pst=null;
ResultSet rs=null;

public AllowanceGUI() {
    initComponents();
}

private void formWindowOpened(java.awt.event.WindowEvent evt) {                                  
    conn=MySQLConnect.ConnectDb();
}                                 

private void SearchButtonActionPerformed(java.awt.event.ActionEvent evt) {                                             


    try {
        String sql = "SELECT EmployeeID,FirstName,LastName,Designation,BasicSalary FROM EmployeeInfo WHERE EmployeeID =?";
        pst=conn.prepareStatement(sql);
        pst.setString(1,EmployeeIDSearchField.getText());

        rs = pst.executeQuery(sql);
    while(rs.next()) { 
        EmployeeIDField.setText(rs.getString("EmployeeID"));
        FirstNameField.setText(rs.getString("FirstName"));
        LasNameField.setText(rs.getString("LastName"));
        DesignationField.setText(rs.getString("Designation"));
        BasicSalaryField.setText(rs.getString("BasicSalary"));



    }
    } catch (SQLException e ) {
    JOptionPane.showMessageDialog(null, e);

}} …
Run Code Online (Sandbox Code Playgroud)

java mysql swing

0
推荐指数
2
解决办法
3万
查看次数

标签 统计

mysql ×2

java ×1

sql ×1

swing ×1