----test.c-----------------
id="0001";
number = get_data(id);/* 関数の戻り値を取得したい */
if(strcmp(number, "01") == 0){
/* Aの処理へ */
}else{
/* Bの処理へ */
}
----test.pc----------------
int get_data(char* id){
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR tel_no[3];
VARCHAR id_no[5];
EXEC SQL END DECLARE SECTION;
strcpy(id_no.arr,id);
id_no.len=strlen(id_no.arr);
EXEC SQL
SELECT tel_number into :tel_no
FROM test_tbl
WHERE id=:id_no;
tel_no.arr[tel_no.len]='\0';
/*取得したtel_noを返したい!!*/
}
---------------------------
test.cで引数に"0001"を指定して、get_data関数を
コールして、そのget_data関数で受け取った引数で
test_tblを検索しtel_numberフィールドの値を
test.cに返し、判断文で処理したいと考えています。
ちなみにtest_tblで引数の条件で合致するデータは
必ず1件のみとします。
どのように記述したらいいかわかりません。
アドバイスお願い致します。m(_ _)m
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちわ。
get_data は文字列を返すのですね?
そうすると、tel_no.arr にNULL 文字をセットして
返す事になりますが、ここで注意があります。
上のソースだと、tel_no 変数はget_data 関数の
ローカル変数として宣言されますのでget_data から
復帰すると開放されてしまいます。
→ 別の場所でグローバル変数かstatic 変数を宣言して
おいて、その変数にtel_no.arr をコピーする。
(当然NULL 文字をセットして下さい。)
return 文でtel_no.arr をコピーした変数の
アドレスを返すようにする。
でOk です。
文字列を返すのであれば、復帰値ではなくOut パラメータ
にした方が楽だと思いますょ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ActiveReportのdetailをデータセットの自動バインドを使って帳票を出力しています。 1 2023/08/16 07:16
- IT・エンジニアリング ActiveReportのdetailをデータセットの自動バインドを使って帳票を出力しています。 1 2023/08/16 07:17
- MySQL 次の時間帯の勝率の合計を求めるSQL文 1 2023/07/04 17:12
- PostgreSQL 画像とカテゴリーを出力したいのですが、取得の条件を付ける方法がわかりません。 2 2022/05/01 18:03
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- Oracle sqlで質問です。 idを元にidに紐付くデータで住所コードがjpのみのデータ以外のidを取得したい 4 2023/03/20 17:41
- Oracle SQL update方法 2 2022/06/22 14:07
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- その他(プログラミング・Web制作) Pythonで会員サイトの自動ログイン ID Nameがない 1 2022/12/16 02:09
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ポインター引数の関数でコンパ...
-
pythonでDBのカラム名で取得し...
-
構造体のソートの方法について...
-
POSTで配列のデータを渡す方法は?
-
stable diffusionのエラー
-
C言語 構造体の名前欄?を小文...
-
C言語の構造体にてバブルソート...
-
テキストファイルの結合について
-
関数マクロの書き方
-
printfの%eで指数部分の桁数を...
-
linuxのシェルでファイル名に先...
-
matlabでのRRI検出
-
'dataType' 引数を Null にする...
-
ループ変数の変更
-
c言語での wavファイルの編集(...
-
平滑化フィルタ
-
UTF-8で5~6バイトになる文字コ...
-
10Mバイトて文字数に すると何...
-
COBOLのCOMP形式について
-
Excel VBA メール作成について ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ポインター引数の関数でコンパ...
-
stable diffusionのエラー
-
printfの%eで指数部分の桁数を...
-
エクセルVBA:日付データの変換...
-
int型(2バイト)データの分割
-
c言語の多次元配列で1から100ま...
-
C#でのswitch文
-
【Excel VBA】10進数を2進数に...
-
途中経過も表示するプログラム
-
CreateProcessでの環境変数の設...
-
pythonでDBのカラム名で取得し...
-
C言語についてです! 同じ年の...
-
linuxのシェルでファイル名に先...
-
c言語 配列から数字だけをint型...
-
c言語での wavファイルの編集(...
-
matlabのソースコードをpython...
-
ビットデータのチェック方法
-
10個の実数に対する降順ソート...
-
python 気象データの取得
-
C言語の構造体にてバブルソート...
おすすめ情報