- 论坛徽章:
- 0
|
int insert_record(char *lab_login_name, char *login_ip,
char *login_date, char *logout_date,
char *lab_ip, int time_duration, int day)
{
EXEC SQL BEGIN DECLARE SECTION; //声明变量
char lab_login_name2[10];
char login_ip2[32];
char login_date2[32];
char logout_date2[32];
char lab_ip2[32];
int time_duration2; //问题 ::变量声明
char sqlstr[128];
EXEC SQL END DECLARE SECTION;
memset(lab_login_name2, 0, 10);
memset(login_ip2, 0, 32);
memset(login_date2, 0, 32);
memset(logout_date2, 0, 32);
memset(lab_ip2, 0, 32);
memset(sqlstr, 0, 12 ;
strcpy(lab_login_name2, lab_login_name);
strcpy(login_ip2, login_ip);
strcpy(login_date2, login_date);
strcpy(logout_date2, logout_date);
strcpy(lab_ip2, lab_ip);
time_duration2 = time_duration; //----宿主变量赋值
sprintf( sqlstr, "insert into z_detail_%d values (:v1, :v2, to_date(:v3, 'DY Mon DD HH24:MI:SS YYYY'), to_date(:v4, '
DY Mon DD HH24:MI:SS YYYY'), :v5, :v6)", day);
EXEC SQL PREPARE S FROM :sqlstr;
EXEC SQL EXECUTE S USING :lab_login_name2, :login_ip2, :login_date2,
:logout_date2, :lab_ip2, :time_duration2;
printf("timedurantion---------)>;%d",time_duration);
//打印结果正常
printf("------------)>;%d",time_duration2);//打印结果总是540702262
????为什么不能正确赋值给time_duration2呢?请指教:) |
|