struct accountnew
{
char trust_glide_no[31];
char trust_date[9];
char oper_id[9];
char business_id[5];
char account_id[13];
char accieve[2];
char mutiacctflag[2];
char org_id[6];
char seat_id[9];
char net_id[11];
char account_type[2];
char account_name[101];
char corporation_name[51];
char card_type[2];
char card_no[51];
char address[101];
char office_phone[41];
char home_phone[41];
char zipcode[11];
char move_phone[21];
char fax[41];
char email[51];
char incor_name[51];
char incor_card_type[2];
char incor_card_no[51];
char incor_address[101];
char incor_office_phone[41];
char incor_home_phone[41];
char incor_move_phone[21];
char incor_fax[41];
char incor_email[51];
char incor_zip[11];
char incor_nation[51];
char contact[51];
char bank[101];
char bank_account[51];
char bank_name[101];
char bank_address[101];
char password[11];
char trust_result[2];
char clear_oper_id[9];
char clear_result[2];
char clear_date[9];
char error_id[5];
char re[101];
char exists_acct_id[13];
char ifCrossSearch[2];
}accountnew;void clearing_trust(struct accountnew *an)
{
char affseqno[21];
char return_id[5],clr_result[2];
int i=0; /*产生确认流水号*/
afm_seq.seq_no++;
sprintf(affseqno,"%s%s%.*d",
an->org_id,sysdateStr,afm_seq.seq_len,afm_seq.seq_no); strcpy(return_id,an->business_id);
return_id[0]='1';
if(an->trust_result[0] == '1')
strcpy(clr_result,"1");
else
strcpy(clr_result,"0"); /*2004-3-31 15:30 weihy add next 4 rows*/
rtrim(sysdateStr); EXEC SQL INSERT INTO ACCT_AFFIRM(
AFFIRM_SEQ_NO, TRUST_SEQ_NO,
TRUST_DATE, OPER_ID,
MUTIACCTFLAG, ORG_ID,
SEAT_ID, NET_ID,
BUSINESS_ID, ACCT_ID,
ORDER_ACCT_ID, ACCIEVE,
ACCT_TYPE, ACCT_NAME,
CORPO_NAME, CARD_TYPE,
CARD_NO, ADDR,
OFFICE_TEL, HOME_TEL,
ZIP, MOBILE,
FAX, EMAIL,
INCOR_NAME, INCOR_CARD_TYPE,
INCOR_CARD_NO, INCOR_ADDR,
INCOR_OFFICE_TEL, INCOR_HOME_TEL,
INCOR_MOBILE, INCOR_FAX,
INCOR_EMAIL, BANK,
BANK_ACCT, BANK_NAME,
BANK_ADDR, PASSWD,
CLEAR_OPER_ID, CLEAR_RESULT,
CLEAR_DATE, RETURN_ID,
ERROR_ID, REMARK)
VALUES(:affseqno, :an->trust_glide_no,
TO_DATE(:an->trust_date,'YYYYMMDD'), :an->oper_id,
:an->mutiacctflag, :an->org_id,
:an->seat_id, :an->net_id,
:an->business_id, :an->exists_acct_id,
:an->account_id, :an->accieve,
:an->account_type, :an->account_name,
:an->corporation_name, :an->card_type,
:an->card_no, :an->address,
:an->office_phone, :an->home_phone,
:an->zipcode, :an->move_phone,
:an->fax, :an->email,
:an->incor_name, :an->incor_card_type,
:an->incor_card_no, :an->incor_address,
:an->incor_office_phone, :an->incor_home_phone,
:an->incor_move_phone, :an->incor_fax,
:an->incor_email, :an->bank,
:an->bank_account, :an->bank_name,
:an->bank_address, :an->password,
:an->clear_oper_id, :clr_result,
TO_DATE(:sysdateStr,'YYYYMMDD'), :return_id,
:an->error_id, :an->re); if(sqlca.sqlcode != 0)
{
userlog("[clearing_trust ]sqlca.sqlcode is [%d]\n",sqlca.sqlcode);
EXEC SQL ROLLBACK WORK;
}
return;
}
初学者,请问各位上面的插入语句是如何把另一个表(ACCT_ORDER)中的数据传给结构体,结构体又插入ACCT_AFFIRM的
{
char trust_glide_no[31];
char trust_date[9];
char oper_id[9];
char business_id[5];
char account_id[13];
char accieve[2];
char mutiacctflag[2];
char org_id[6];
char seat_id[9];
char net_id[11];
char account_type[2];
char account_name[101];
char corporation_name[51];
char card_type[2];
char card_no[51];
char address[101];
char office_phone[41];
char home_phone[41];
char zipcode[11];
char move_phone[21];
char fax[41];
char email[51];
char incor_name[51];
char incor_card_type[2];
char incor_card_no[51];
char incor_address[101];
char incor_office_phone[41];
char incor_home_phone[41];
char incor_move_phone[21];
char incor_fax[41];
char incor_email[51];
char incor_zip[11];
char incor_nation[51];
char contact[51];
char bank[101];
char bank_account[51];
char bank_name[101];
char bank_address[101];
char password[11];
char trust_result[2];
char clear_oper_id[9];
char clear_result[2];
char clear_date[9];
char error_id[5];
char re[101];
char exists_acct_id[13];
char ifCrossSearch[2];
}accountnew;void clearing_trust(struct accountnew *an)
{
char affseqno[21];
char return_id[5],clr_result[2];
int i=0; /*产生确认流水号*/
afm_seq.seq_no++;
sprintf(affseqno,"%s%s%.*d",
an->org_id,sysdateStr,afm_seq.seq_len,afm_seq.seq_no); strcpy(return_id,an->business_id);
return_id[0]='1';
if(an->trust_result[0] == '1')
strcpy(clr_result,"1");
else
strcpy(clr_result,"0"); /*2004-3-31 15:30 weihy add next 4 rows*/
rtrim(sysdateStr); EXEC SQL INSERT INTO ACCT_AFFIRM(
AFFIRM_SEQ_NO, TRUST_SEQ_NO,
TRUST_DATE, OPER_ID,
MUTIACCTFLAG, ORG_ID,
SEAT_ID, NET_ID,
BUSINESS_ID, ACCT_ID,
ORDER_ACCT_ID, ACCIEVE,
ACCT_TYPE, ACCT_NAME,
CORPO_NAME, CARD_TYPE,
CARD_NO, ADDR,
OFFICE_TEL, HOME_TEL,
ZIP, MOBILE,
FAX, EMAIL,
INCOR_NAME, INCOR_CARD_TYPE,
INCOR_CARD_NO, INCOR_ADDR,
INCOR_OFFICE_TEL, INCOR_HOME_TEL,
INCOR_MOBILE, INCOR_FAX,
INCOR_EMAIL, BANK,
BANK_ACCT, BANK_NAME,
BANK_ADDR, PASSWD,
CLEAR_OPER_ID, CLEAR_RESULT,
CLEAR_DATE, RETURN_ID,
ERROR_ID, REMARK)
VALUES(:affseqno, :an->trust_glide_no,
TO_DATE(:an->trust_date,'YYYYMMDD'), :an->oper_id,
:an->mutiacctflag, :an->org_id,
:an->seat_id, :an->net_id,
:an->business_id, :an->exists_acct_id,
:an->account_id, :an->accieve,
:an->account_type, :an->account_name,
:an->corporation_name, :an->card_type,
:an->card_no, :an->address,
:an->office_phone, :an->home_phone,
:an->zipcode, :an->move_phone,
:an->fax, :an->email,
:an->incor_name, :an->incor_card_type,
:an->incor_card_no, :an->incor_address,
:an->incor_office_phone, :an->incor_home_phone,
:an->incor_move_phone, :an->incor_fax,
:an->incor_email, :an->bank,
:an->bank_account, :an->bank_name,
:an->bank_address, :an->password,
:an->clear_oper_id, :clr_result,
TO_DATE(:sysdateStr,'YYYYMMDD'), :return_id,
:an->error_id, :an->re); if(sqlca.sqlcode != 0)
{
userlog("[clearing_trust ]sqlca.sqlcode is [%d]\n",sqlca.sqlcode);
EXEC SQL ROLLBACK WORK;
}
return;
}
初学者,请问各位上面的插入语句是如何把另一个表(ACCT_ORDER)中的数据传给结构体,结构体又插入ACCT_AFFIRM的
select * from b where 条件 即可