Как автоматически вставить дату и время в таблицу sql - PullRequest
0 голосов
/ 01 марта 2019

Я создал имя таблицы 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 есть три поля jtext, которые помогают вставлять данные в таблицу SQL EventLog (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);
 } 

Итак, я хочу, чтобы при вставке значений ObjectId, Name, Value в три jtextfiles таблица Sql автоматически вставляла дату и время с этими данными.

Но, согласно моему коду, он показывает ошибку

Имена столбцов или количество предоставленных значений не соответствуют определению таблицы

Поэтому, пожалуйста, предоставьте мне правильный путь.

1 Ответ

0 голосов
/ 01 марта 2019
String sql = "insert into EventLog7 values('"+objectid+"','"+name+"','"+value+"')";

строка будет

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

Я не знаю, как генерируются идентификаторы sql-сервера, вам может понадобиться установить его также, если это не автоматическое назначение / приращение.

И я могу сказать, что это небезопасно, вам нужно использовать ? s вместо ваших переменных и использовать методы set, чтобы установить их как a_horse_with_no_name напоминает. Используйте то, что я предложил только для смягченияошибка у вас сейчас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...