我用Java实现串口通信,成功从指定接口读出了数据,现在有什么方法可以实现把读出来的数据写进数据库吗?直接在下面加sql语句好像不行
```java
private static void readHoldingRegistersTest(ModbusMaster master, int slaveId, int start, int len) {
String sql="";
try {
ReadHoldingRegistersRequest request = new ReadHoldingRegistersRequest(slaveId, start, len);
ReadHoldingRegistersResponse response = (ReadHoldingRegistersResponse)master.send(request);
if (response.isException()) {
System.out.println("Exception response: message=" + response.getExceptionMessage());
} else {
System.out.println("read success"+ Arrays.toString(response.getShortData()));
/*String TARGET_ANGLE = response.getShortData().toString();
Map param = new HashMap<>();
param.put("TARGET_ANGLE",TARGET_ANGLE);
sql = "update tracker_tracking set TARGET_ANGLE = :TARGET_ANGLE where COMMUNICATION_BOX_NAME='NCU1'";*/
short[] list = response.getShortData();
for (int i = 0; i < list.length; i++) {
System.out.println(list[i] + " hhhhhhh ");
}
}
} catch (ModbusTransportException e) {
e.printStackTrace();
}
}
```
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class SerialPortReader {
// JDBC连接配置信息
private static final String DB_URL = "jdbc:mysql://localhost:3306/test";
private static final String DB_USER = "root";
private static final String DB_PASSWORD = "password";
public static void main(String[] args) {
// 创建数据库连接
try (Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD)) {
// 准备SQL语句
String sql = "INSERT INTO data (value) VALUES (?)";
PreparedStatement stmt = conn.prepareStatement(sql);
// 读取串口数据,并将其写入数据库
while (true) {
String data = readSerialPortData(); // 读取串口数据
stmt.setString(1, data); // 将数据设置为SQL语句的参数
stmt.executeUpdate(); // 执行SQL语句,将数据插入到数据库中
}
} catch (SQLException e) {
e.printStackTrace();
}
}
// 读取串口数据的方法
private static String readSerialPortData() {
// 读取串口数据的代码
return "data"; // 返回读取到的数据
}
}
你加完sql语句要执行啊,不执行有什么用
你呀,还是先从怎么把textbox里的一个值写进数据库里开始研究,不要好高骛远
你需要链接数据库然后执行这个insert语句,另外用普通的jdbc链接的话,你这个sql中这种参数写法也不行,需要自行拼接参数