参数化Sql语句(动态SQL)
string sql = "SELECT * FROM Products WHERE Name LIKE @tablebody"; var param = new SugarParameter("@tablebody", "%" + userInput + "%"); var list = await db.Ado.SqlQueryAsync<Product>(sql, param);
-
SQL 语句(含占位符
@tablebody) 和 参数的值(%+ userInput +%) 被分开发送给数据库。 -
数据库接收到后,先编译/解析 SQL 语句(此时
@tablebody只是一个占位符,不包含任何用户数据)。 -
编译完成后,数据库将参数的值绑定到占位符上,然后执行。

浙公网安备 33010602011771号