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

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


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);

 } 

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


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


列名或提供的值的数量与表定义不匹配


所以请给我正确的方法。


侃侃尔雅
浏览 619回答 1
1回答

慕码人2483693

String sql = "insert into EventLog7 values('"+objectid+"','"+name+"','"+value+"')";线将是String sql = "insert into EventLog7(ObjectId, Name, Value, EventDate) values('"+objectid+"','"+name+"','"+value+"',GETDATE())";我不知道 ID 是如何生成的 sql-server ,如果不是自动分配/增量,您可能还需要设置它。而且我可以说这是不安全的,您需要使用?s 代替变量并使用 set 方法将它们设置为 a_horse_with_no_name 提醒。仅使用我的建议来减轻您现在遇到的错误。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java