こんにちわ。
#1 のmuyoshid です。
> arrには"to_date('2002/12/26 12:30:30', 'YYYY/MM/DD HH24:MI:SS') "を
> 格納するのでしょうか?
> その際のlenは何を設定すればよいのでしょうか?
ホスト変数のarr に、"2002/12/16 12:30:30" が指定されていれば、
len には、arr の文字列長を指定します。
実際には確認していませんが、Pro*C でのプログラムはこんな感じです。
EXEC SQL INCLUDE SQLCA;
main()
{
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR2 vDate[32];
VARCHAR2 vLogin[32];
EXEC SQL END DECLARE SECTION;
strcpy(vLogin.arr, "scott/tiger");
vLogin.len = strlen(vLogin.arr);
EXEC SQL CONNECT :vLogin;
if (sqlca.sqlcode < 0) {
printf("Connection Error.\n");
exit(1);
}
strcpy(vDate.arr, "2002/12/26 12:30:30");
vDate.len = strlen(vDate.arr);
EXEC SQL Update test
set tmpdate = to_date(:vDate, 'YYYY/MM/DD HH24:MI:SS')
where id = '0000';
if (sqlca.sqlcode < 0) {
printf("Update Error.\n");
exit(1);
}
EXEC SQL COMMIT WORK;
if (sqlca.sqlcode < 0) {
printf("Commit Error.\n");
exit(1);
}
exit(0);
}
でも実際にプログラムする時には、ホスト変数の設定は
マクロでやってしまう事が多いです。
#define VSET(_h,_s) srtcpy(_h.arr, _s); _h.len = strlen(_s)
としておけば、
VSET(vLogin, "scott/tiger");
だけで済んじゃいます。
お礼
すみません。実際はunix-cにてプログラミングしており、ホスト変数に値を格納しています。 その際、arrには"to_date('2002/12/26 12:30:30', 'YYYY/MM/DD HH24:MI:SS') "を格納するのでしょうか? その際のlenは何を設定すればよいのでしょうか?