Asp.net 将参数传递给Oracle数据库的Dapper Select查询
我试图为Oracle数据库中的select查询将参数传递给Dapper,但不知何故,它不适用于“:”标识符 使用字符串连接可以很好地工作:Asp.net 将参数传递给Oracle数据库的Dapper Select查询,asp.net,oracle,select,model-view-controller,dapper,Asp.net,Oracle,Select,Model View Controller,Dapper,我试图为Oracle数据库中的select查询将参数传递给Dapper,但不知何故,它不适用于“:”标识符 使用字符串连接可以很好地工作: string req=“从联系人中选择*,其中code_commite=”; req+=user.Comite+“'和(pers_name LIKE'”; req+=姓名+“%”或类似于“+”姓名+“%”的姓氏; contacts=db_conn.Query(req.ToList() 但不能通过以下简洁的参数: string comite = "'" + u
string req=“从联系人中选择*,其中code_commite=”;
req+=user.Comite+“'和(pers_name LIKE'”;
req+=姓名+“%”或类似于“+”姓名+“%”的姓氏;
contacts=db_conn.Query(req.ToList()代码>
但不能通过以下简洁的参数:
string comite = "'" + user.Comite + "'";//e.g. comite = '120'
name = "'" + name + "%'";//e.g. name = 'John%'
contacts = db_conn.Query<Contact>("SELECT * FROM contact WHERE code_comite = :code_comite AND (pers_nom LIKE :search OR pers_prenom LIKE :search)", new { code_comite = comite, search = name }).ToList();
string comite=“””+user.comite+”//e、 g.comite='120'
name=“”+name+“%”//e、 g.姓名='John%'
contacts=db_conn.Query(“从联系人中选择*,其中code_comite=:code_comite和(pers_nom LIKE:search或pers_prenom LIKE:search)”,新的{code_comite=comite,search=name});
它应该使用相同的字符串,但第二个示例没有返回任何内容。传递参数时,不需要在值周围加引号。相反,这会导致失败,因为引擎将搜索包含您的值并用文字引号括起来的列。
只需使用纯文本
string comite = user.Comite;
name = name + "%";
contacts = db_conn.Query<Contact>(@"SELECT * FROM contact
WHERE code_comite = :code_comite
AND (pers_nom LIKE :search
OR pers_prenom LIKE :search)",
new { code_comite = comite, search = name }).ToList();
string comite=user.comite;
名称=名称+“%”;
联系人=数据库连接查询(@“从联系人中选择*)
其中code\u comite=:code\u comite
和(例如:搜索)
或类似搜索的个人信息“,
新建{code_comite=comite,search=name}).ToList();