Как передать значение имени столбца в качестве аргумента SQL с использованием заполнителей
Как передать значение имени столбца в качестве аргумента SQL, используя заполнители параметров?
Цель состоит в том, чтобы это работало:
var sql = "SELECT * FROM Condos WHERE @0 LIKE @1";
var sqlData = db.Query(sql,choice,"%"+searchString+"%");
choice
переменная, которая будет хранитьcolumn name
@0
этоcolumn name
(и я не могу передать это в качестве аргумента)
@1
этоsearch string
(и у меня нет проблем с этим)
Прочитал и перепробовал много вещей:
Ниже не выдается никакой ошибки, но не заносятся какие-либо данные.
var sql = "SELECT * FROM Condos WHERE @0 LIKE @1";
var sqlData = db.Query(sql,choice,"%"+searchString+"%");
Ниже одного броскаColumn name not valid = '@0'
var sql = "SELECT * FROM Condos WHERE [@0] LIKE @1"
var sqlData = db.Query(sql,choice,"%"+searchString+"%");
Ниже одного броскаColumn name not valid = 'choice'
var sql "SELECT * FROM Condos WHERE choice LIKE @0");
var sqlData = db.Query(sql,"%"+searchString+"%");
Ниже одного броскаMust declare scalar variable "@choice"
var sql "SELECT * FROM Condos WHERE @choice LIKE @0");
var sqlData = db.Query(sql,"%"+searchString+"%");
Ниже не выдается никакой ошибки, но не заносятся какие-либо данные.
var sql = "SELECT * FROM Condos WHERE '@choice' LIKE @0";
var sqlData = db.Query(sql,"%"+searchString+"%");
Ниже не выдается никакой ошибки, но не заносятся какие-либо данные.
var sql = "SELECT * FROM Condos WHERE '@choice' LIKE @0";
var sqlData = db.Query(sql,"%"+searchString+"%");
Ниже не выдается никакой ошибки, но не заносятся какие-либо данные.
var sql = "SELECT * FROM Condos WHERE '"+choice+"' LIKE @0";
var sqlData = db.Query(sql,"%"+searchString+"%");
Ниже один: БОЛЬШОЙ БАШ
var sql = "SELECT * FROM Condos WHERE '"+@choice+"' LIKE @0";
var sqlData = db.Query(sql,"%"+searchString+"%");
Ниже одного броскаColumn name not valid = 'NameShort'
This is precisely the correct column name
var sql = "SELECT * FROM Condos WHERE ['"+choice+"'] LIKE @0";
var sqlData = db.Query(sql,"%"+searchString+"%");
Ниже один: БОЛЬШОЙ БАШ
var sql = "SELECT * FROM Condos WHERE ['"+@choice+"'] LIKE @0";
var sqlData = db.Query(sql,"%"+searchString+"%");
HELP !!!!!!!!!!!!!!