2012-06-11 5 views
0

C#에서 SQlite 데이터베이스를 사용하고 있으며 매개 변수에 오류가 있습니다. 여기 C# System.Data.SQLite 매개 변수 오류

using System.Data.SQLite; 

는 메인 코드의 일부입니다

  this.dbUpdateCommand = new SQLiteCommand(); 

      dbUpdateCommand.Parameters.AddWithValue("@paramNewValue", (string)this.valueNew); 
      dbUpdateCommand.Parameters.AddWithValue("@paramPredValue", (string)this.valuePred); 
      dbUpdateCommand.Parameters.AddWithValue("@paramTableName", (string) this.tableName); 
      dbUpdateCommand.Parameters.AddWithValue("@paramColumnName", (string)this.columnInDB); 
      dbUpdateCommand.Parameters.AddWithValue("@paramKeyField", (string)this.keyFieldInDB); 
      dbUpdateCommand.Parameters.AddWithValue("@paramKeyValue", (string)this.keyValueInDB); 

      dbUpdateCommand.CommandText = "UPDATE @paramTableName SET @[email protected] WHERE @[email protected];"; 

      dbUpdateCommand.ExecuteNonQuery(); 

그리고 @paramTableName "근처에 SQLite는 오류"나에게 예외를 throw "구문 오류"나는없는 순수한 SQL 문을 만들려고

을 params하지만 문자열 연결 및 그것은 동일한 변수 (this.tableName 유효한 db tablename)와 함께 작동합니다 그래서 내 매개 변수에 뭔가 잘못된 것 같습니다. 아무도 몰라, 뭐?

답변

0

개체를 참조하는 매개 변수를 사용할 수 없습니다 (테이블 & 열). 실제 테이블과 컬럼 이름을 조회에 h 제해야합니다. 그렇게하는 동안 SQL 주입에주의하십시오.