実際には、C プログラムで SQL クエリを実行したいと考えています。クエリ内の変数はSELECT
、文字列変数に格納された値になります。
例えば:
void fetch_data(char var[])
{
char COL1[]=var, COL2[]="Address", COL3[]="Name";
SELECT COL1, COL2, COL3 FROM TABLE WHERE COL4='some value';
}
var
ここでわかるように、関数のパラメーターである変数に応じて異なる列名を使用できるように、コードを柔軟にしたいと考えていfetch_data
ます。
これがCで可能かどうか教えてください。
上記が不可能な場合は、別の方法を考えました: SQL ステートメント全体を文字列に格納して実行し、関数で取得したパラメーターの値に応じていつでもこの文字列を変更できるようにすることはできますfetch_data()
か?
以下のコードは、私が望むものをより明確にします。
void fetch_data(char var[])
{
char COL1[]="Name", COL2[]="Address", COL3[]=var;
char qry1[]="SELECT ", qry2[]=var, qry3=" COL2, COL3 FROM TABLE WHERE COL4='some value';";
char str[]=strcat(qry1,qry2);
char query[]=strcat(str,qry3);
//now query will be having "select (value of var), COL2, COL3 FROM TABLE WHERE COL4='some value';
}
上記のコードで、文字列に格納されているクエリを実行できますquery
か?
2つの方法のいずれかが機能するか、または「C」の他の方法で実現できるかどうか教えてください。