- 论坛徽章:
- 0
|
这是我的一段程序:定义了一个ODBC数据源,然后用游标往数据库插植,可是不管能取到多少条记录,结果却只插进最后取到的那一条。插前面的都报 SQLSTATE = S1004 [Microsoft][ODBC SQL Server Driver]无效的 SQL 数据类型这个错。你说出错吧,它还能插进最后一条。郁闷!是我的程序有问题吗?
大家帮我看看了:
sqlcd = create transaction
sqlcd.DBMS = "ODBC"
sqlcd.AutoCommit = False
Sqlcd.DBParm ="ConnectString='DSN=ybjk;UID=sa; PWD='"
connect using sqlcd;
if sqlcd.sqlcode <> 0 then
messagebox('错误提示','与数据库连接失败!',stopsign!)
return
end if
DECLARE declare_dy CURSOR FOR
SELECT result.registerno,
result.accountno
FROM result
WHERE result.serial_no = :li_serial_1 using sqlcd ;
open declare_dy;
fetch declare_dy into :ls_register_no,:ls_account_no;
do while(sqlcd.sqlcode = 0)
INSERT INTO keepaccbill
( serial_no,
itemname,
itemspec)
VALUES (:li_serial_2,
:ls_register_no,
:ls_account_no) using sqlcd;
if sqlcd.sqlcode <> 0 then
messagebox('提示','插入数据有错误'+ sqlcd.sqlerrtext)
rollback;
end if
fetch declare_dy into :ls_register_no,:ls_account_no;
loop
close declare_dy; |
|