인 매개 변수화 C#의 ODBC 드라이버에 대한 OdbcConnection에 대한 매개 변수화 된 SQL 쿼리를 수행하는 데 문제가 있습니다. 나는 그것이 columname "사용자가"확인 보인다 위해 odcparameters를 사용하여 주사OdbcCommand. 테이블 이름이
using (OdbcCommand command = connection.CreateCommand())
{
command.CommandText = "SELECT ? FROM ?";
command.CommandTimeout = SynchTimeout;
command.CommandType = CommandType.Text;
command.Parameters.Add(new OdbcParameter(string.Empty, "User"));
command.Parameters.Add(new OdbcParameter(string.Empty, "TableName"));
OdbcDataReader reader = command.ExecuteReader();
while (reader.Read())
{
// TODO: Do something clever..
}
}
로부터 보호 할 수 있도록 열 이름과 테이블 이름은 웹 GUI에서 구성 할 수 있습니다. 하지만 테이블 이름을 매개 변수로 '?' 다음 오류가 발생합니다. 오류 [HY000] [Microsoft] [ODBC Excel 드라이버] 매개 변수 'Pa_RaM002'는 테이블 이름이 필요한 곳에 지정되었습니다.
누군가 OdbcParameter가 될 수없는 경우이 상황에서 테이블 이름을 안전하게 전달하는 방법을 알고 있습니까?
Jet/ACE 드라이버에서 테이블 매개 변수를 사용할 수 없습니다. – Fionnuala