실제로는 C 프로그램에서 SELECT
쿼리의 변수가 문자열 변수에 저장된 값으로 SQL 쿼리를 실행하려고합니다. 예를 들어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';
}
나는 fetch_data
함수의 매개 변수 인 변수 var
에 따라 다른 열 이름을 가질 수 있도록 내 코드를 유연하게 할 원하는 볼 수 있습니다. 내가 수정할 수 있도록 우리가, 문자열 전체 SQL 문을 저장하고 실행할 수 있습니다 :이
위가 가능하지 않은 경우 나 다른 방법을 생각 C.
가능한 경우알려주세요 이 문자열은 내가 함수의 파라미터 값에 따라 원할 때마다 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'의 다른 방법으로 해결할 수 있는지 알려주세요.
이 작업을 수행하는 방법은 데이터베이스 드라이버에 따라 다릅니다. 하지만 일반적으로 쿼리 문자열을 수정해서는 안되며 ** 정말 안전하지 않습니다 **. 다양한 파트가있는 위치 표시자를 넣고 실제 값을 매개 변수로 전달할 수있는 함수/함수 세트를 사용해야합니다. – ninjalj