C#关于DataTable.Select使用中出现的错误

图片说明

点击button后在rows中只有第一个数会执行操作,若存在后续数则显示图中报错;若只有一个数则运行正常,再次点击button无效。

2个回答

提示语法错误,Join方法中的,号后面的空格去掉试试

huyoCat
huyoCat 还是不行,但是用了另一个办法解决了,谢谢您!
大约一个月之前 回复

看一下,你的string.Join的逗号,是不是全角的

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Python+OpenCV计算机视觉

Python+OpenCV计算机视觉

C#中比Datatable.Select()更高效的检索方法

请教各位大神!我把历史数据存在Datatable中,需要多次查询目前数据是否在历史数据范围内,其中要进行多个列的大小比较。Datatable的数据量会不断增加,最多在1万左右,由于多次查询时间太长,请问各位大神有什么高效方法?

C#中的DataTable.Select列名为纯数字时,怎么写?

C#中,如果列名为纯数字的话,写在条件中,会被认为是一个常数, 在SQL中可以加上中括号“[]”,在C#中,要怎么写?

c# DataRow[] rows = datatable.Select("name contain('王')")。

这个datatable.select() 方法找字段包含姓王的怎么办啊 ,这个是不是就没contain的方法

datatable.select 语句中如何取出重复数据

将取出的重复数据作为数据源绑定给另一个datatable,并且重复数据都要绑定到另一个datatable

datatable dt.rows.count 怎么让count获取的是每次行数?

DataTable.Rows.Count 获取到Excel数据的行数14,然后我把Excel数据删掉两行,再运行仍然是原来的14行,我是用循环写的,所以需要count 来结束循环,求大佬指教

c#中用linq查询datatable的问题

之前用datetable的select方法来查询,发现这个方法非常诡异,有时候会查询到一些不对的结果。所以就想换过用linq来查。但用了一会出现了一个问题。就是我希望以数据表中的一个以时间格式的字段(如:2014-9-17 23:59:17)进行查询时,用Field<DateTime>转换这个字段的数据发现转换不了,系统报错了。。请问应该怎么解救这个问题啊?

C# DataTable格式转换的问题。

本人在做一个数据库 入库工具。可以把文本文件(.txt文件)中的数据,筛选(要区分分隔符和数据)。导入到指定的数据库表中。 思路是这样的: 1.在内存中创建一个表ResourceTable,并创建数据行,同时规定了这个表的每个列的数据类型(这个很重要)。 2.然后,逐行读取.txt文件。筛选。把数据和分隔符区分开来。并把要存入对应列的数据,转换成该列的数据类型(也就是说转换成ResourceTable中列的数据类型)。 3.把这个表导入到数据库。 但是小弟在第2步。碰到了问题。 问题是: 怎么根据ResourceTable列的数据类型,把要存入该列的数据进行类型转换。这个要怎么做? 描述一下问题吧。贴些代码。免得像我在QQ群里面一下,问了半天,没人懂。我问了什么? ![图片说明](https://img-ask.csdn.net/upload/201507/31/1438329909_836140.png) 这个是小弟的程序界面,大家可以大致的了解是个什么东西。 这个是读.txt文件的代码段, /// <summary> /// 读取文本文件,获取指定行数 /// </summary> /// <param name="saveTable">用于保存数据的table</param> /// <param name="TextFilePath">文本文件的路径</param> /// <param name="SplitString">分隔字符串</param> /// <param name="RowsCount">要读取的行数</param> /// <returns>如果获取到指定的行数,则正常,否则返回false代表失败。</returns> public static bool ReaderText(DataTable saveTable,string TextFilePath,string SplitString,UInt64 RowsCount ) { /*分隔措施*/ string[] data_mark = new string[] { "data" }; String[] sep_string = SplitString.Split(data_mark, StringSplitOptions.RemoveEmptyEntries); //通过切割字符串,把所有的非data标志的数据,判定为分隔符 string[] one_line; //文本文件中的一行 string badrow=null; //坏行,存在问题的行 /*构建文件流读取器*/ StreamReader sr; FileStream fs ; try { fs= File.OpenRead(TextFilePath); //创建文件流对象 sr = new StreamReader(fs, Encoding.Default); //创建一个指向文件的流读取器 } catch (Exception) { return false; //出现异常,读取失败 throw; } /*读取指定的行数并存入表中*/ for (UInt64 i = 0; i < RowsCount; i++) { try { DataRow one_row = saveTable.NewRow(); badrow=sr.ReadLine(); one_line = badrow.Split(sep_string, StringSplitOptions.RemoveEmptyEntries); //把取出来的分隔符数组作为切割标志,对从文本文件读到的数据进行分隔 for (int j = 0; j < one_line.Length; j++) //创建行,并往行里面添加数据 { one_row[j] = one_line[j]; // MessageBox.Show(saveTable.Columns[j].DataType.FullName); one_row[j]=(saveTable.Columns[j].DataType.FullName)one_line[j].ToString(); //【这里需要把存入saveTable的数据进行类型转换, //转换成和saveTable的对应列的数据类型一致。 //因为我的saveTable是把对应的列设置了数据类型的。 // (typeof(saveTable.Columns[j].DataType.FullName)); // System.Convert.(saveTable.Columns[j].DataType.FullName). } saveTable.Rows.Add(one_row); //把这一行添加到表里面 Form1.getInstance().progressBar1.PerformStep(); } catch (Exception) { BadRowsProcess(badrow, TextFilePath); //对坏行进行处理 // throw; } } sr.Dispose(); fs.Dispose(); return true; //正常读完了 } 这里是构建那个ResourceTable的代码段。 private void button_Insert_Click(object sender, EventArgs e) //开始入库按钮 { ResourceTable = new DataTable(); ResourceTable.Clear(); /*构建一下源表*/ DataTable TargetTableDes = ADO.selectOracle("select column_name,data_type,DATA_LENGTH from user_tab_columns where table_name='" + comboBox1.SelectedItem.ToString() + "'"); foreach (DataRow item in TargetTableDes.Rows) { ResourceTable.Columns.Add("【" + item[0].ToString() + "】" + item[1].ToString() + "(" + item[2].ToString() + ")"); //增加列名 ResourceTable.Columns["【" + item[0].ToString() + "】" + item[1].ToString() + "(" + item[2].ToString() + ")"].DataType = Type.GetType(item[1].ToString()); //给列限制数据类型。 } 小弟想问,怎么根据ResourceTable的列的数据类型,把存入这个列的数据,转换成和这个列的数据类型一致的。 而且这个问题还有以下几个特点: 1.ResourceTable的列不止一个,而且不同的列,数据类型可能不同。同时,用户,可能把同样的数据,导入不同的表,所以ResourceTable列的列数和列的数据类型。都是根据用户的选择,在程序运行期间确定的。 2.数据库的类型和C#的类型,不完全相同。比如数据库的date类型,等等。可能会碰到在数据库的类型中有,而在C#的类型中没有的情况。那这种情况要怎么处理? 3.这个数据类型转换语句,是要求性能的。因为可能要读上百万行的文本文件,而且对每一个列都要进行转换。最好是一行代码就可以完成这个功能。 好的啰嗦了点。求各位大神,指点指点,希望大家能看懂我的需求。也就是一个数据类型转换的问题。 第一次提问啊。表达不清楚之处。多多谅解,要是还是看不懂,就问我。我再补充。

DataRow[] rows = table.select();是什么意思啊?

我看了一段实例不太懂,请教... Dataset ds=new Dataset(); DataTable table=new ds. Tables["as"]; DataRow[] rows = table.select(); 是什么意思啊???DataRow[] rows = table.select();是什么意思啊

C# 对NEW Datatable过滤排序,为何会影响到DataGridView的显示,BUG吗?

C# 对NEW Datatable过滤排序,为何会影响到DataGridView的显示,BUG吗? 见代码 paras = new SqlParameter[]{ new SqlParameter("@type", "待复核明细"), new SqlParameter("@fhdjbh", PubVar.djbh) }; dt = PubVar.sql.RunProcedureDR("LJH_FHT_mxfh", paras); DataGridView1.DataSource = dt; DataTable dtNew = dt; string cxStr = string.Format("sptm LIKE '{0}%' or spbh like '%{0}%' or zjm like '%{0}%'", "a"); //排序,过滤 dtNew.DefaultView.RowFilter = cxStr; dtNew.DefaultView.Sort = "pihao,shl"; 如上代码:有个DataGridView,已经设置数据源了,我重新NEW了一个DataTable dtNew后,对dtNew排序或者过滤 界面的DataGridView1都会跟着变,求高人指导

DataTable 返回值总是空

select max(id) from [Table] where [id] like 111% 填充至DataTable后,判断DataTable总是为NULL,这是什么原因呢? 我把查询语句改为“select id from [Table] where [id] like 111%”就正常,是聚合函数MAX的原因么? 求各位大神提供解决办法 我目标就是要实现ID号根据日期自动编码,即20160829001,20160829002.......所以得找到表中当前日期的最大值再加1

C#DataTable的数据如何写进dataGridView里面。

dataGridView的header头是test1,test2,test3,test4,test5 DataTable的header头也是test1,test2,test3,test4,test5 但是为什么用这个方法dataGridView1.DataSource = dt;数据会添加到表的后面!![图片说明](https://img-ask.csdn.net/upload/201504/02/1427946018_526234.jpg) 2:用OleDbConnection读取的csv文件问什么会有乱码 代码: string conString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FolderName + ";Extended Properties=\"text;HDR=Yes;FMT=Delimited\""; System.Data.OleDb.OleDbConnection con = new System.Data.OleDb.OleDbConnection(conString); string commText = "SELECT * FROM [" + csvFileName + "]"; System.Data.OleDb.OleDbDataAdapter da = new System.Data.OleDb.OleDbDataAdapter(commText, con); DataTable dt = new DataTable(); da.Fill(dt); dataGridView1.DataSource = dt; csv文件格式:![图片说明](https://img-ask.csdn.net/upload/201504/02/1427946259_288469.jpg)

C# 将数据库查询出来的两张表 赋到两个 DataTable中然后合并到一个DataTable中然后添加到Datagridview中....

#C# 将数据库查询出来的两张表 赋到两个 DataTable中然后合并到一个DataTable中然后添加到Datagridview中.... 以上操作已经完成,但是要以相应的格式显示 这个是要达到的格式,![图片说明](https://img-ask.csdn.net/upload/201910/22/1571726499_900852.png) 这个是还没完成的格式![图片说明](https://img-ask.csdn.net/upload/201910/22/1571726863_414012.png) 求大佬指教编程思路...

C# 两个不相同结构的datatable中的数据只有一个主键一样如何快速比较返回差集

现在有2个表部分学校表和学校表 其中部分学校表在A库、学校表在B库 SCH_ID为关联主键 部分学校表 AUTO_ID USER_ID COTY_NO SCH_ID SCH_NO SCH_NAME 1 17 123 341289001 1 职业学院 学校表 SCH_ID SCH_NO SCH_NAME 341289001 1 职业学院 341259851 2 XX学院 现在通过数据库查询得到 DataTable SchoolA; 部分学校数据 DataTable SchoolAll;全部学校数据 SCH_ID为关联主键 现在想写个方法最快速的取出差集如XX学院(表里的数据目前就举例几天、实际5W多条) 目前自己的思路是遍历DataTable.Select()这样遍历去查询、有没有更好的方法

c# 执行sql语句的时候 返回的是DataTable

c# 执行sql语句的时候 返回的是DataTable 如果DataTable没有值的话 是==null 还是==0

c#两个datatable匹配问题

datatable1:列 a b c d e(有数据) datatable2:列 a b c (没有数据) 怎么将datatable1的数据填充到datatable2里面?

从Oracle表中读取数据到DataTable对象中

目标是从Oracle表中读取数据到DataTable对象中,然后显示在控件CridView中。代码运行也没错误,SELECT语句也能在SQL*PLUS中执行,但是执行后数据没有在控件中显示出来。 ![图片说明](https://img-ask.csdn.net/upload/201808/14/1534215488_355084.png) ![图片说明](https://img-ask.csdn.net/upload/201808/14/1534215516_21764.png)

初学者Linq的一个问题

代码如下: DataQueryable<User> countOfUser; try{ countOfUser = ( from o in wkSpace.Application.Users where o.FirstDate >= firstDate where o.LastDate <= lastDate where o.HasFinshed != true where o.FinishDate != null select o); } 其中,FirstDate、LastDate、FinshDate是date类型,HasFinished是bool类型 现在的问题是,当我把后两句where去掉后,查询结果从有结果,变成没有结果了

list<datatable>代码块解析,我写的好像不太对

帮我看看这代码写的对不对,主要是输出samedt和diffdt,我怎么写感觉不对啊 ``` public List<DataTable> CompareDifferentList() { List<DataTable> listdt = new List<DataTable>(); DataTable dtBefore = ExcelToDataTable(txtBeforePath.Text.ToString()); DataTable dtAfter = ExcelToDataTable(txtAfterPath.Text.ToString()); DataTable samedt = new DataTable(); DataTable diffdt = new DataTable(); samedt.Columns.Add("slot"); samedt.Columns.Add("PN"); diffdt.Columns.Add("slot"); diffdt.Columns.Add("PN"); //after table foreach (DataRow dr in dtAfter.Rows) { string afterPartNumber = dr["PN"].ToString(); //before and after compare DataRow[] drs= dtBefore.Select("PN=" + afterPartNumber); if (drs.Length > 0) { //TODO:add to same table DataRow samedr = samedt.NewRow(); samedr["slot"] = dr["slot"].ToString(); samedr["PN"] = dr["PN"].ToString(); samedt.Rows.Add(samedr); } else { //TODO:add to diff table DataRow diffdr = diffdt.NewRow(); diffdr["slot"] = dr["slot"].ToString(); diffdr["PN"] = dr["PN"].ToString(); diffdt.Rows.Add(diffdr); } } return listdt; } ```

C#datatable不能正确显示平均数

AVG不能正常显示平均数,怎么办 ``` DataTable dt = new DataTable("rawData"); //新建行和列 dt.Columns.Add("Time"); dt.Columns.Add("FeederErr"); dt.Columns.Add("NozzleErr"); dt.Columns.Add("HeadErr"); dt.Columns.Add("AVG"); //获取数据 DataTable a = BLL.NXTChartMgr.GetNozzleData(); DataTable b = BLL.NXTChartMgr.GetFeederData(); DataTable c = BLL.NXTChartMgr.GetHeadData(); //先循环A,循环一条A,再找B和C,再插入到结果表里 foreach (DataRow drA in a.Rows) { //得到B和C的Err DataRow drB = b.Select("MACHINE='" + drA["MACHINE"] + "' and uplddte= '" + drA["uplddte"] +"'")[0]; DataRow drC = c.Select("MACHINE='" + drA["MACHINE"] + "' and uplddte= '" + drA["uplddte"] +"'")[0]; //计算avg值 List<double> list = new List<double>(); for (int i = 0; i < a.Rows.Count; i++) { double d = (Convert.ToDouble(a.Rows[i]["NozzleErr"]) + Convert.ToDouble(b.Rows[i]["FeederErr"]) + Convert.ToDouble(c.Rows[i]["HeadErr"])) / 3; list.Add(d); } //新建一行 DataRow dr = dt.NewRow(); //赋值 dr["Time"] = drA["uplddte"]; dr["NozzleErr"] = drA["NozzleErr"]; dr["FeederErr"] = drB["FeederErr"]; dr["HeadErr"] = drC["HeadErr"]; dr["AVG"] = list; //构造dr后,插入dt dt.Rows.Add(dr); } return dt; ``` ![图片说明](https://img-ask.csdn.net/upload/201612/22/1482394432_680354.png)

2019 Python开发者日-培训

2019 Python开发者日-培训

150讲轻松搞定Python网络爬虫

150讲轻松搞定Python网络爬虫

设计模式(JAVA语言实现)--20种设计模式附带源码

设计模式(JAVA语言实现)--20种设计模式附带源码

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

java后台+微信小程序 实现完整的点餐系统

java后台+微信小程序 实现完整的点餐系统

三个项目玩转深度学习(附1G源码)

三个项目玩转深度学习(附1G源码)

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

2019 AI开发者大会

2019 AI开发者大会

玩转Linux:常用命令实例指南

玩转Linux:常用命令实例指南

一学即懂的计算机视觉(第一季)

一学即懂的计算机视觉(第一季)

4小时玩转微信小程序——基础入门与微信支付实战

4小时玩转微信小程序——基础入门与微信支付实战

Git 实用技巧

Git 实用技巧

Python数据清洗实战入门

Python数据清洗实战入门

使用TensorFlow+keras快速构建图像分类模型

使用TensorFlow+keras快速构建图像分类模型

实用主义学Python(小白也容易上手的Python实用案例)

实用主义学Python(小白也容易上手的Python实用案例)

程序员的算法通关课:知己知彼(第一季)

程序员的算法通关课:知己知彼(第一季)

MySQL数据库从入门到实战应用

MySQL数据库从入门到实战应用

机器学习初学者必会的案例精讲

机器学习初学者必会的案例精讲

手把手实现Java图书管理系统(附源码)

手把手实现Java图书管理系统(附源码)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

.net core快速开发框架

.net core快速开发框架

玩转Python-Python3基础入门

玩转Python-Python3基础入门

Python数据挖掘简易入门

Python数据挖掘简易入门

微信公众平台开发入门

微信公众平台开发入门

程序员的兼职技能课

程序员的兼职技能课

Windows版YOLOv4目标检测实战:训练自己的数据集

Windows版YOLOv4目标检测实战:训练自己的数据集

HoloLens2开发入门教程

HoloLens2开发入门教程

微信小程序开发实战

微信小程序开发实战

Java8零基础入门视频教程

Java8零基础入门视频教程

相关热词 c#跨线程停止timer c#批量写入sql数据库 c# 自动安装浏览器 c#语言基础考试题 c# 偏移量打印是什么 c# 绘制曲线图 c#框体中的退出函数 c# 按钮透明背景 c# idl 混编出错 c#在位置0处没有任何行
立即提问