我实际上想在 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
吗?
请让我知道这两种方法中的任何一种是否可以工作,或者是否可以通过“C”中的任何其他方法来实现。