SqlCom=“insert into Table_A (id, name, call_num) values (:b0, :b1, :b2)”
UploadRec[][]  是需要插入的值的数组,里面的call_num值为“123456789         ”使用proc动态SQL执行:
SQLDA *bind_insert_data;
EXEC SQL BEGIN DECLARE SECTION; 
        VARCHAR  insert_stmt[SQL_LEN];
EXEC SQL END DECLARE SECTION;                 bind_insert_data = sqlald(200, 60, 10)) ;
               insert_stmt.len = sprintf(insert_stmt.arr, SqlCom);
        EXEC SQL PREPARE S1 FROM :insert_stmt; 
        EXEC SQL DECLARE data_cursor CURSOR FOR S1; 
        EXEC SQL DESCRIBE BIND VARIABLES FOR S1 INTO bind_insert_data; 
                bind_insert_data->N = bind_insert_data->F;
                for(i=0; i<bind_insert_data->F; i++)
        {
                bind_insert_data->L = strlen(UploadRec);
                bind_insert_data->V = (char*)malloc(bind_insert_data->L+1);
                bind_insert_data->I = (short*)malloc(sizeof(short*));
                strcpy(bind_insert_data->V, UploadRec);
                *(bind_insert_data->I) = 0;
                bind_insert_data->T = 1;
        }
                EXEC SQL OPEN data_cursor USING DESCRIPTOR bind_insert_data;
               通过这种方式执行以后,数据都被插入了表中,但是call_num的值却没有了后面的空格。(在数据库表中call_num字段定义的类型为varchar2)请问这是什么原因啊? 如何解决  谢谢。。急问