- 论坛徽章:
- 0
|
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的值却没有了后面的空格。
请问这是什么原因啊? 如何解决 谢谢。。急问。。。 |
|