首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将DataRow[]列的列结果添加到变量c#中

将DataRow[]列的列结果添加到变量c#中
EN

Stack Overflow用户
提问于 2013-08-07 06:17:44
回答 5查看 3.6K关注 0票数 1

我希望将DataRow[]的值返回到c#中的字符串

这是我的DataTable

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DataTable table = new DataTable();
            table.Columns.Add("ID", typeof(int));
            table.Columns.Add("BugDescription", typeof(string));
            table.Columns.Add("UnitPrice", typeof(double));

            table.Rows.Add(1, "Bug 1", 10.00);
            table.Rows.Add(2, "Bug 2", 20.00);

然后创建一个名为DataRow[]result,它存储ID =1的行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DataRow[] result = table.Select("ID = 1");

我要完成的最后一步是将BugDescription值添加到名为description的字符串中。

我怎样才能做到这一点?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-08-07 06:31:33

你的代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DataRow[] result = table.Select("ID = 1");

告诉您您有一个DataRows数组。这意味着你在这里可能有不止一张唱片。所以,现在要看你要分配哪一行了。如果你认为这是第一次,你可以这样做。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if(result.Length > 0)
{
   string description = Convert.ToString(result[0]["BugDescription"]); 
}

用linq的方式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
string description = table.Rows.OfType<DataRow>().Where(row => (string)row["ID"] == "1").Select(row => (string)row["BugDescription"]).First();
票数 2
EN

Stack Overflow用户

发布于 2018-06-30 08:59:03

我知道我给出答案的时间已经很晚了,但是,我们可以在答案列表中再加一个。

当datatable.select以数组的形式给出结果时,我们要知道的是,我们正在为每一行数组中的列获取项目数组。用下面的例子简化这个语句。

如果我们知道/记住/使用列位置/编号而不是列名,我们可以使用"ItemArray“

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//ID   Name      Age
//100  Name 100  Age 100
//101  Name 101  Age 101
//102  Name 102  Age 102

假设是单排。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DataTable dt=new DataTable();
//Assigning some data into dt. with columns ID, Name, Age. 
DataRow[] dr=dt.Select("ID=100");
string PersonID=dr[0].ItemArray[0].Tostring().trim(); //first column is ID
string PersonName=dr[0].ItemArray[1].Tostring().trim(); //second column is Name
string PersonAge=dr[0].ItemArray[2].Tostring().trim(); //third column is Age

因此,变量将具有以下详细信息。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// PersonID= 100; PersonName= Name 100; PersonAge= Age 100

假设rows>1 (本例中为2)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dr=dt.Select("ID>100");
string PersonID_1=dr[0].ItemArray[0].Tostring().trim(); //first column is ID
string PersonName_1=dr[0].ItemArray[1].Tostring().trim(); //second column is Name
string PersonAge_1=dr[0].ItemArray[2].Tostring().trim(); //third column is Age

string PersonID_2=dr[1].ItemArray[0].Tostring().trim(); //first column is ID
string PersonName_2=dr[1].ItemArray[1].Tostring().trim(); //second column is Name
string PersonAge_2=dr[1].ItemArray[2].Tostring().trim(); //third column is Age

因此,变量将具有以下详细信息。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// PersonID_1= 101; PersonName_1= Name 101; PersonAge_1= Age 101
// PersonID_2= 102; PersonName_2= Name 102; PersonAge_2= Age 102

要记住:第一行或列索引id总是以0开头。因此,dr是第一行,ItemArray是第一列。

票数 1
EN

Stack Overflow用户

发布于 2013-08-07 06:24:30

如果您有一个DataRows数组,就像声明它之后一样

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DataRow[]

您可以通过以下方式访问它:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
string resultBug = result[0]["BugDescription"];

但是,由于您只期望一行(并且要判断是否总是期望返回一行),所以应该将其声明为普通的DataRow:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DataRow result = table.Select("ID = 1")[0];
string resultBug = result["BugDescription"].Dump();

Select将返回一个行数组,因此您应该对其进行索引,以获得第一次出现。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18105858

复制
相关文章
获取activity返回参数
//把startActivity 换成startActivityForResult //然后重写onActivityResult方法 //—MainActivity btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, TestActivity.class); intent.putExtra(“user”, new User(“shaomiao”, 2)); //startActivity(intent); startActivityForResult(intent,0); } });
tea9
2022/07/16
1.4K0
Shell 获取函数的返回值
函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高。 Shell 获取返回值,有两种方式。一种是通过return返回某个数字,一种是通过echo间接的拿到函数处理的结果。
芥末鱿鱼
2022/05/05
5.1K0
如何获取接口返回数据
在自动化测试中常常遇到接口测试,或是使用的数据需要从接口返回,那么如何来实现这种情况?
Peter Shen
2020/06/12
2.4K0
Android onActivityResult获取返回值的用法
现有 MainActivity,当它进入到 SecondActivity 后,在 SecondActivity 中进行了某些操作然后需要将值返回给 MainActivity 时,就需要用到 onActivityResult() 这个方法了,下面呢,我就具体来介绍一下用法。
用户8099761
2023/05/10
1.4K0
原生JS获取input上传的图片返回的地址
1. HTML文件 <li> <label for="uploadFile" class="upload-file">点击上传</label> <!-- 在CSS中将input隐藏,UI效果用label展示 --> <input type="file" name="upload_file" id="uploadFile" onchange="uploadImg()" /> <br> <!-- 没有上传的时候不显示 ,上传以后添加src--> <img id="
越陌度阡
2020/11/26
22.3K0
获取main方法的返回值「建议收藏」
Windows:要在windows系统下查看状态,键入C:directory>echo %ERRORLEVEL% (编译、链接程序之后,生成.exe文件,在cmd中运行.exe文件之后,运行C:directory>echo %ERRORLEVEL% 可以查看它的返回值。)
全栈程序员站长
2022/08/30
1.5K0
[android] 开启新的activity获取他的返回值
应用场景:打开一个新的activity,在这个activity上获取数据,返回给打开它的界面
唯一Chat
2019/09/10
1.2K0
[android] 开启新的activity获取他的返回值
JavaScript中获取input上传的图片返回的地址
1. HTML文件 <li> <label for="uploadFile" class="upload-file">点击上传</label> <!-- 在CSS中将input隐藏,UI效果用label展示 --> <input type="file" name="upload_file" id="uploadFile" onchange="uploadImg()" /> <br> <!-- 没有上传的时候不显示 ,上传以后添加src--> <img id=
越陌度阡
2022/11/27
4.2K0
【Python】python获取线程的返回值的方法
threading模块默认没有获取线程返回值的方法。 下面通过重写threading.Tread类来实现: from threading import Thread import random import time class MyThread(Thread): # 继承Thread类 def __init__(self,group=None, target=None, name=None, args=(), kwargs=None, *, daemin=None): Th
py3study
2020/01/09
1.6K0
【类型挑战】获取函数返回类型,难度⭐️⭐️
Dear,大家好,我是“前端小鑫同学”,😇长期从事前端开发,安卓开发,热衷技术,在编程路上越走越远~ 知识运用: 认识什么是returntypetype。 题目分析: 题目地址:2-medium-return-type 如上图所示,我们需要设计一个通用了类型工具还提取函数类型的返回类型,功能同内置的ReturnType。 题目解答: 测试用例: 给出的测试用例挺多但是没有特殊需要说明的,我们只需要通过设计的类型工具取出到通过Equal来进行比较即可。 /* _____________ 测试用例 _
前端小鑫同学
2022/12/26
1.2K0
【类型挑战】获取函数返回类型,难度⭐️⭐️
shell脚本 获取http返回码问题
1.返回3个值,根据200和OK来确定这个地址可以通 curl -I -s -connect-timeout 2 www.baidu.com|head -1|sed 's/ /\n/g'
陈不成i
2021/06/23
1.2K0
python 多进程获取返回值
1 def worker(procnum, return_dict): '''worker function''' print str(procnum) + ' represent!' return_dict[procnum] = procnum
用户5760343
2022/01/09
1.4K0
python多进程获取返回值
https://segmentfault.com/q/1010000010403117/a-1020000010411306
py3study
2020/01/09
8.4K1
Flutter路由管理和页面参数的传递(获取&返回)
在做 Flutter 开发的时候所有的页面以及页面上的元素都变成了 Widget ,创建一个页面或者视图直接 new 一个新的 widget 就可以,相关的参数我们可以直接通过构造函数直接传递。
静默加载
2020/05/29
4.8K0
python多线程,获取多线程的返回值
代码如下: # coding=utf-8 import threading from time import ctime, sleep # 多线程如何返回值 class MyThread(threading.Thread): def __init__(self,func,args=()): super(MyThread,self).__init__() self.func = func self.args = args def run(
MachineLP
2018/01/09
3.7K0
python多线程,获取多线程的返回值
Java发送Post请求,获取返回的请求头Header
在利用Java网络编程时,利用Java获取HTTP Request 和 Response头字段;
chenchenchen
2021/09/06
5.7K0
web 云开发获取匿名登录返回的uid
有时可能我们想对匿名登录返回的uid做处理,我们可能需要得到匿名登录的uid const app = tcb.init({ env: '替换云开发环境id' }); //匿名登录 app.auth({ persistence: 'local' //(local 30天 session(默认)关闭窗口 none 刷新后)清除身份验证状态 }) .anonymousAuthProvider() .s
用户7592570
2020/07/23
1.3K0
Python 获取线程返回值的三种方式
提到线程,你的大脑应该有这样的印象:我们可以控制它何时开始,却无法控制它何时结束,那么如何获取线程的返回值呢?今天就分享一下自己的一些做法。
somenzz
2022/10/25
2.9K0
AOP高级用法——获取方法的参数和返回值
我们平时在使用springAop的时候,经常是将某一个方法定义为一个切入点,用来做前置,后置或环绕增强,但如果想得到切入点方法的参数,以及它的返回值就需要做一些特定的配置。
Java深度编程
2020/06/10
14K0
aardio调用汇编代码获取返回值的方法
aardio编程软件可以对外部进程注入汇编代码,并且转换成aardio函数很方便的调用。有时候需要获取汇编代码内的某些数据,把这个数据作为aardio函数的返回值。要让注入代码的aardio函数有返回值,需要注意2点。
用户2135432
2018/10/11
2.1K0

相似问题

videoEmbeddable标志不工作

14

标志-useHCatalog不工作

34

JQuery标志不工作

30

netstat -p标志不工作

10

ListPopupWindow标志底座不工作

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文