#in SQL查询

4 c# sql sql-server asp.net ms-access

我有一些elses代码(C#ASP.Net),其中包含以下查询:

string query = "SELECT distinct(destinations.name) as Destinations 
                FROM destinations, flights 
                WHERE destinations.d_ID = flights.d_ID 
                  AND flights.Date = #" + date.ToShortDateString() + "#";
Run Code Online (Sandbox Code Playgroud)

我无法在date参数之前和之后找到为什么需要#.它可以作为普通字符串值传递(在'和'之间).使用#有什么好处?

非常感谢,阿里

jle*_*jle 10

磅符号没有任何问题,但它不符合ANSI标准.使用日期参数重写查询要好得多.

ex:

SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT distinct(destinations.name) as Destinations FROM destinations, flights WHERE destinations.d_ID = flights.d_ID AND flights.Date = @dateparm";
cmd.Parameters.Add(new SqlParameter("dateparm",value);
SqlDataReader rdr = cmd.ExecuteReader();
Run Code Online (Sandbox Code Playgroud)


cur*_*isk 6

这是针对访问数据库的吗?该平台要求日期被"#"括起来

编辑:回答你的主要问题,不,除非它是需要的Access,否则在查询中保留哈希标记是没有好处的.