简体   繁体   English

按顺序将C#中的SQL连接起来

[英]Concatenate SQL in C# with order by

我有此代码,我想编写ORDER BY DESC但我不知道该如何帮助一些人

OleDbCommand cmd = new OleDbCommand("SELECT * FROM users WHERE [id] = " + Session_ID, conn2);

Firstly, you should be aware that this kind of codes are open for SQL Injection and you should always use parameterized queries to avoid SQL Injection . 首先,您应该意识到这类代码是为SQL注入打开的,并且应该始终使用参数化查询来避免SQL注入 Like this: 像这样:

OleDbCommand cmd = new OleDbCommand("SELECT * FROM users WHERE [id] = ? " +
                                    "ORDER BY ID DESC", conn2);
cmd.Parameters.Add(new OleDbParameter("@SessionID", Session_ID));
 OleDbCommand cmd = new OleDbCommand("SELECT * FROM users 
  WHERE [id] = " + Session_ID + " ORDER BY ID DESC", conn2);

Though above will work it has serious flaw. 尽管上面的方法会起作用,但它有严重的缺陷。 One can simply do SQL Injection in above SQL Query so it is highly recommended to use parametrized query to prevent SQL Injection as suggested by @S.Akbari 可以简单地在上述SQL查询中执行SQL注入,因此强烈建议使用参数化查询来防止SQL注入,如@ S.Akbari所建议。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM