Doesn't work, I get Cursor not open error , what is wrong?
<code>
string ERRORS, sql_syntax, sys_table, sql_1, sql_2, sql_3, sql_4
Long ll_return
Integer li_file
li_file = FileOpen ("c:\temp\sql.str", LineMode!, Write!)
string presentation_str, dwsyntax_str
sqlca.dbParm = "PacketSize=4096"
sqlca.LogId = "xxx"
sqlca.LogPass = "pw_xxx"
sqlca.Database = "test"
sqlca.DBMS = "SYC Sybase System 11 CTLIB"
sqlca.Servername = "SYBXXX"
ll_return = sqlca.of_Connect ()
IF ll_return <> 0 THEN
MessageBox ("Connect", "Connect error")
return
END IF
DECLARE query_primuniq_keys DYNAMIC PROCEDURE FOR sqlsa;
PREPARE sqlsa FROM "sp_helpindex ?" USING sqlca;
sys_table = "sysindexes"
EXECUTE DYNAMIC query_primuniq_keys USING :sys_table;
FETCH query_primuniq_keys INTO :sql_1, :sql_2, :sql_3, :sql_4;
If (sqlca.sqlcode <> 0) Then
MessageBox ("FETCH query_primuniq_keys", "(" + String (sqlca.sqlcode) +
")" + sqlca.SQLErrText)
End If
DO WHILE sqlca.sqlcode = 0
sql_syntax = sql_1 + " " + sql_2 + " " + sql_3
FETCH query_primuniq_keys INTO :sql_1, :sql_2, :sql_3, :sql_4;
MessageBox ("FETCH Result", sql_syntax)
LOOP
CLOSE query_primuniq_keys;
sqlca.of_Disconnect ()
</code>
Thanks for all help Andreas
re...@zamg.ac.at
Solved :-)
I forgot to set sqlca.AutoCommit = TRUE
Here is the code if somebody need a similary thematic...
<code>
string ERRORS, sql_syntax, sys_table, sql_1, sql_2, sql_3, sql_4
Long ll_return
Integer li_file
string presentation_str, dwsyntax_str
sqlca.dbParm = "PacketSize=4096"
sqlca.LogId = "xxx"
sqlca.LogPass = "yyy"
sqlca.Database = "test"
sqlca.DBMS = "SYC Sybase System 11 CTLIB"
sqlca.Servername = "SYBXXX"
sqlca.AutoCommit = TRUE
ll_return = sqlca.of_Connect ()
IF ll_return <> 0 THEN
MessageBox ("Connect", "Connect error")
return
END IF
DECLARE query_primuniq_keys DYNAMIC PROCEDURE FOR sqlsa;
PREPARE sqlsa FROM "sp_helpindex ?" USING sqlca;
sys_table = "sysobjects"
EXECUTE DYNAMIC query_primuniq_keys USING :sys_table;
FETCH query_primuniq_keys INTO :sql_1, :sql_2, :sql_3, :sql_4;
If (sqlca.sqlcode <> 0) Then
MessageBox ("FETCH query_primuniq_keys", "(" + String (sqlca.sqlcode) +
")" + sqlca.SQLErrText)
End If
DO WHILE sqlca.sqlcode = 0
sql_syntax = sql_1 + " | " + sql_2 + " | " + sql_3 + " | " + sql_4
MessageBox ("FETCHED Results", sql_syntax)
FETCH query_primuniq_keys INTO :sql_1, :sql_2, :sql_3, :sql_4;
LOOP
CLOSE query_primuniq_keys;
sqlca.AutoCommit = FALSE
sqlca.of_Disconnect ()
</code>