c# - 使用列名称的字符串列表查询 SQL 表

标签 c# sql .net sql-server

我有两个问题 1.我有一个字符串列表,它是列名称。我如何在 SQL 查询中使用它? 2.该方法是否容易出现SQL注入(inject)?

这就是我现在所拥有的,

List<string> Columnnames = new List<string>();

 cmd = new SqlCommand("Select "+Columnnames+" from test");

最佳答案

回答您的问题:

问题 1 - 将代码更改为:

List<string> Columnnames = new List<string>();

// Code that populates Columnnames here

cmd = new SqlCommand("Select " + string.Join(",", Columnnames) + " from test");

问题 2 - 取决于您填充Columnnames 的方式。如果这是通过网络输入填充的,那么是的。

关于c# - 使用列名称的字符串列表查询 SQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25642206/

相关文章:

c# - 后台线程的预期 ThreadAbort

c# - 如何让 SQLite 在 Windows 10 上运行?

c# - ASP.NET 双列表框使用 JQuery 更新了客户端,以及如何在服务器端检索结果

c# - 根据另一个集合中的值过滤集合

sql - Oracle如何处理SQL中的存储函数调用?

c# - 异常的 "message"是否具有文化独立性?

c# - 为什么 WPF DataGrid 的垂直滚动太大?

c# - Type.GetType 不区分大小写 - WinRT

mysql - 年份更改未在 mysql 服务器中给出结果

sql - Oracle 空字符串/NULL