使用Java将值插入数据库
您好,我有一个Jtable和一个JFormattedTextField,我在其中输入要插入数据库的值。 我使用PrimeRealSt声明,但输出给出了一个错误[SqL0418]利用损坏的MARCADOR DEPAR。使用Java将值插入数据库,java,sql,jtable,ibm-midrange,Java,Sql,Jtable,Ibm Midrange,您好,我有一个Jtable和一个JFormattedTextField,我在其中输入要插入数据库的值。 我使用PrimeRealSt声明,但输出给出了一个错误[SqL0418]利用损坏的MARCADOR DEPAR。 试试看{ Connection con=DriverManager.getConnection(“jdbc:as400://”+主机、用户、pwd); //从连接创建新语句 //语句stmt=con.createStatement(); 结果集rs; //int rows=tabl
试试看{
Connection con=DriverManager.getConnection(“jdbc:as400://”+主机、用户、pwd);
//从连接创建新语句
//语句stmt=con.createStatement();
结果集rs;
//int rows=table.getRowCount();
//对于(int row=0;row当您运行代码时,AS400上是否运行任何东西
当我对这类事情进行故障排除时,我喜欢从基础开始。下面是一个SQL过程,它将消息发送到QSYSOPR消息队列:
CREATE or replace PROCEDURE qgpl/testHello(
)
LANGUAGE SQL
BEGIN
declare vCmd char(512) default ' ' ;
declare vCmdLgth decimal(15,5) default 0 ;
set vCmd = 'SNDMSG MSG(''test hello'') TOUSR(*SYSOPR)' ;
set vCmdLgth = 80 ;
call qcmdexc( vCmd, vCmdLgth ) ;
end
使用STRSQL命令提示符创建过程,然后运行它。然后使用DSPMSG QSYSOPR查看QSYSOPR消息队列中的消息
接下来,将java代码更改为“call qgpl/testHello”,而不是“insert to…”代码。当您运行java代码时,您应该会在QSYSOPR中看到消息。您能翻译错误消息吗?说明可能的错误。DB可能不知道哪些类型是,convert(datetime,?,111)
at prepare timeerror[SQL0418]使用参数标记或NULL无效。我将检查文档问题是我有其他按钮在数据库中执行某些插入操作只有这一个给我错误将insert INTO语句移动到SQL过程中。用对SQL过程的调用替换java代码中的insert INTO语句。然后在SQL过程中可以插入有助于跟踪服务器上运行的作业的作业日志的代码。这将显示insert INTO语句导致的SQL错误。如果没有自动生成代码,您甚至可以在SQL过程中运行到DSPJOBLOG的代码。