CS_VERSION_100 で sybase 15/12.5 を使用しています
ct_param を使用しようとすると、エラーが発生します。
An illegal value of 0 was placed in the status field of the CS_DATAFMT structure.
しかし、私は自分の構造を作成します。
CS_DATAFMT datafmt;
strcpy(datafmt.name, "@interface");
datafmt.namelen = 11;
datafmt.datatype=CS_INT_TYPE;
datafmt.maxlength=4;
datafmt.status=CS_INPUTVALUE;
datafmt.locale = NULL;
datafmt.format = 0;
datafmt.scale = -99999;
datafmt.count = 1;
datafmt.usertype=0;
ct_param(command, &datafmt, /* value 300 */, 4, 0)
varchar を使用すると 1 (true) が返されますが、もちろん、int パラメータの代わりに varchar パラメータを配置しようとしていることがわかります。私は最後のバージョンに変更しましたが、sybase が maxlength からステータス値を取得しているようです..今、値が 4 であることがわかりました.maxlength を 256 に変更すると動作します...