SQL中的“?”符号有什么作用?

时间:2017-12-13 04:58:59

标签: sql tsql

例如

SELECT pathName+
               [fileName]+
               fileExtension AS fileName
    FROM BatchCompaniesPaths
 WHERE batchID = ? AND pathType = ?;

1 个答案:

答案 0 :(得分:3)

如果您使用类似C#的编程语言触发查询,那么?必须是参数持有者,您需要为该位置传递sqlparameter

例如:

OdbcCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT * FROM [user] WHERE id = ?";
cmd.Parameters.Add("@id", OdbcType.Int).Value = 4;
OdbcDataReader reader = cmd.ExecuteReader();

所以在上面的代码中,当在数据库上触发查询时,?被@id替换。