c# - 如何在 C# 中连接查询结果
问题描述
我想在 C# 中连接查询结果。下面是生成的图像
在我的代码中,我已经完成了
using (MySqlConnection cn = new MySqlConnection(conn.ConnectionString))
{
string query = "SELECT m.`read_param` FROM mdc_request m WHERE m.`row_id` = @row_id";
cn.Open();
MySqlCommand cmd = new MySqlCommand(query, cn);
cmd.CommandText = query;
cmd.Parameters.AddWithValue("@row_id", iterations.row_id);
reader = cmd.ExecuteReader();
while (reader.Read())
{
// here I want to save the result in one single variable
}
}
更新 1
根据@Rahul 的回答,我做了以下事情
public async Task YtlbusMethod(List<Iterations> ytlbus)
{
MySqlConnection cn = null;
int limitRequest = 10;
for (int i = 10; i > 0; i--)
{
foreach (var item in ytlbus)
{
using (cn = new MySqlConnection(conn.ConnectionString))
{
string query = "SELECT m.`time` FROM `mdc_meter_config` m WHERE m.`row_id` = @row_id";
cn.Open();
MySqlCommand cmd = new MySqlCommand(query, cn);
cmd.CommandText = query;
cmd.Parameters.AddWithValue("@row_id", item.row_id);
reader = cmd.ExecuteReader();
while (reader.Read())
{
string time = (string)reader["time"];
if(item.time == time)
{
int sleeptime = Convert.ToInt32(item.time);
sleeptime = sleeptime * 1000;
Thread.Sleep(sleeptime);
Task.Factory.StartNew(() => PortHitmethod(item));
}
}
}
cn.Close();
// select query kerni hy ..jis main wohi data ay jo tu yahan pass ker raha hy... where k ander just tuny row id pass kerni hy.
//if(item.time== query main jo time aya hy woh)
//{
//}
}
}
}
public async Task PortHitmethod(Iterations iterations)
{
MySqlConnection cn = null;
List<string> data = new List<string>();
using (cn = new MySqlConnection(conn.ConnectionString))
{
string query = "SELECT m.`read_param` FROM mdc_request m WHERE m.`row_id` = @row_id";
cn.Open();
MySqlCommand cmd = new MySqlCommand(query, cn);
cmd.CommandText = query;
cmd.Parameters.AddWithValue("@row_id", iterations.row_id);
reader = cmd.ExecuteReader();
while (reader.Read())
{
data.Add(reader["read_param"].ToString());
}
}
cn.Close();
var single = string.Join("", data);
}
现在我面临的问题是我无法获取所有行数据。总行数是,9
但我得到的比这少
我怎样才能做到这一点?任何帮助将不胜感激。
解决方案
看起来那些是整数值然后你可以做类似的事情
List<int> data = new List<int>;
while (reader.Read())
{
data.Add(int.Parse(reader["read_param"].ToString()));
}
然后你可以使用string.Join()
类似的方法
var single = string.Join(",", data);
推荐阅读
- android - android - onRequestPermissionsResult - 不覆盖或实现超类型的方法
- r - R 3.5 中的 state.center 包
- typescript - tsconfig 参考似乎不适用于 VS2017 15.7.1 中的多个项目
- xamarin - 将 Android MainActivity.cs 中的短文本数据绑定/设置到共享的 Xamarin 表单标签?
- subquery - 子查询中的左连接
- xml - 删除 XSLT 中的双引号和斜杠
- java - 计算整数位数
- r - R 变异列代表许多其他列的平均值
- java - 如何从图的广度优先搜索中获取路径中的所有节点
- java - 从 InputStream 读取 NullPointerException