gpt4 book ai didi

java - 如何在sql表中自动插入日期和时间

转载 作者:太空宇宙 更新时间:2023-11-04 09:49:41 24 4
gpt4 key购买 nike

我在 SQL Server 2008 中创建了一个名为 EventLog7 的表:

create table EventLog7(
EventId int not null identity(1,1),
EventDate datetimeconstraint DF_myDate DEFAULT (getdate()),
ObjectId varchar(50),
Name varchar(50),
Value varchar (50)
)

在 NetBeans 中,有三个 jtextfields,当我按下按钮时,它们有助于将数据插入 EventLog SQL 表(ObjectId、Name、Value)。下面提到的操作按钮代码:

 String objectid=jTextField1.getText();
String value=jTextField2.getText();
String name=jTextField3.getText();
try{
DoConnect();
st=conn.createStatement();
String sql = "insert into EventLog7 values('"+objectid+"','"+name+"','"+value+"')";
pst = conn.prepareStatement(sql);
pst.execute();
rs=st.executeQuery("select * from EventLog7");
jTable1.setModel(net.proteanit.sql.DbUtils.resultSetToTableModel(rs));
}
catch(Exception e){
JOptionPane.showMessageDialog(null,e);
}

所以,我希望当我在三个 jtextfiles 中插入 ObjectId、Name、Value 的值时,Sql 表将自动插入这些数据的日期和时间。

但是根据我的代码,它显示错误

Column names or number of supplied values does not match table definition

所以请为我提供正确的方法。

最佳答案

String sql = "insert into EventLog7 values('"+objectid+"','"+name+"','"+value+"')";

行将是

String sql = "insert into EventLog7(ObjectId, Name, Value, EventDate) values('"+objectid+"','"+name+"','"+value+"',GETDATE())";

我不知道 sql-server 的 ID 是如何生成的,如果不是自动分配/增量,您可能还需要设置它。

我可以说这并不安全,您需要使用 ? 代替变量,并使用 set 方法将它们设置为 a_horse_with_no_name 提醒。仅使用我建议的内容来减轻您现在遇到的错误。

关于java - 如何在sql表中自动插入日期和时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54934502/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com