我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 表将自动插入这些数据的日期和时间。但根据我的代码,它显示错误列名或提供的值的数量与表定义不匹配所以请给我正确的方法。
1 回答
慕码人2483693
TA贡献1860条经验 获得超9个赞
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 提醒。仅使用我的建议来减轻您现在遇到的错误。
添加回答
举报
0/150
提交
取消