c# - 查询具有字符串字段的数据库
问题描述
我可以以某种方式在数据库中查询我在字符串中拥有的字段吗?
string fieldName = "Column1";
SQL:
string sql = "SELECT " + fieldName + " FROM myTable";
我需要这样做LINQ
是否有内置的快速解决此类问题的方法,或者反思是否起作用?
解决方案
您可以为此实现一个简单的方法:
private static IEnumerable<IDataRecord> ReadSqlRecords(string sql) {
//TODO: Put connection string here
//TODO: I've assumed you work with MS SQL; if not replace SqlConnection
using (var conn = new SqlConnection("ConnectionStringHere")) {
conn.Open();
using (var q = conn.CreateCommand()) {
q.CommandText = sql;
using (var reader = q.ExecuteReader()) {
while (reader.Read())
yield return reader;
}
}
}
}
然后你就可以使用它了
string sql = $"SELECT {fieldName} FROM myTable";
// Now you can put Linq
var result = ReadSqlRecords(sql)
.Where(record => Convert.ToInt32(record["Id"]) > 100)
.Count();
推荐阅读
- python - 如何实现具有多个 init 继承的 super()?
- oracle - Oracle 在日期范围内选择日期范围
- c++ - what(): basic_string::_M_construct null 无效错误
- python - 无法导入 PyQt5.QtWebEngineWidgets
- open-policy-agent - Rego:如何指定不具有多个条件中的任何一个
- google-cloud-dataflow - 使用 ParDo 遵循不同的变换 - Apache Beam
- java - 我应该如何设计 Java 类?
- javascript - puppeteer 的问题,array.from 不显示对象
- duplicates - 在 SQL Server 管理器中删除每个帐户 NO 的重复项
- java - 如何在java中添加动态值作为对象字段名称?