刚学C#,怎么感觉对数据的处理很弱智?

问题描述

比如说对Datatable有条件的批量修改某列数据VFP可以Replace...for,C#只能循环判断,逐项修改,1万条记录怎么办?有没有快捷点的办法?

解决方案

解决方案二:
c#也可以用SQL语句成批修改嘛。
解决方案三:
datasetlinq
解决方案四:
那你为什么不用sql批量更新,非得跟datatable较劲呢
解决方案五:
刚学C#的话,弱智的肯定是你,而不是C#.net
解决方案六:
该回复于2012-04-05 14:56:31被版主删除
解决方案七:
各位大神,请问一下,,,replacefor通过神马实现批量更新?那么C#也这么做呗
解决方案八:
sql支持批量更新。updatesometablesetfield=field+1wherename=xxx
解决方案九:
这个。。。。纯粹是领取十分可用分来的
解决方案十:
大侠们帮看看,最底下一个循环,想不用循环实现://删除没有设置字段名的列for(inti=0;i<xlshead.Rows.Count;i++){if(xlshead.Rows[i]["fld"].ToString()==string.Empty)xlsdt.Columns.Remove(xlshead.Rows[i]["head"].ToString());//删除不符合非空要求的记录//xlsdt=fromxlsdtwhere//deletexlsheadsetfield=field+1wherename=xxxif(xlshead.Rows[i]["nonull"].ToString().ToLower()=="true"){//stringfld=xlshead.Rows[i]["fld"].ToString();//DataRow[]rows=xlsdt.Select(fld+"isnotnull");//xlsdt.Clear();//以下一定要用循环码?想用上面3+...代替,但我写不下去了,仍然需要遍历rowsfor(intj=xlsdt.Rows.Count-1;j>=0;j--){if(xlsdt.Rows[j].IsNull(i)){xlsdt.Rows.RemoveAt(j);}}}

解决方案十一:
权限好低哦,发帖不能编辑修改for(inti=0;i<xlshead.Rows.Count;i++){if(xlshead.Rows[i]["fld"].ToString()==string.Empty)xlsdt.Columns.Remove(xlshead.Rows[i]["head"].ToString());//删除不符合非空要求的记录if(xlshead.Rows[i]["nonull"].ToString().ToLower()=="true"){//stringfld=xlshead.Rows[i]["fld"].ToString();//DataRow[]rows=xlsdt.Select(fld+"isnotnull");//xlsdt.Clear();//以下一定要用循环码?想用上面3行+...代替,但我写不下去了,仍然需要遍历rowsfor(intj=xlsdt.Rows.Count-1;j>=0;j--){if(xlsdt.Rows[j].IsNull(i)){xlsdt.Rows.RemoveAt(j);}}}

解决方案十二:
对啊,这个不是C#慢,是思路不对,应该用SQL语句
解决方案十三:
有时候要是通过c#去实现需要写很多很多代码但是同样的功能一条sql语句足以。。。
解决方案十四:
弱智不弱智,结果说了算。你应该去找vpf做软件的公司,而不要找使用.net的。
解决方案十五:
请你回去用VPF大户你好,大户再见
解决方案:
SQL只能对数据库操作,我现在只是对一个待处理的DataTable操作LinQ虽然可以对DataTable处理,但只有DataTable.Select(),而且其结果还是Rows数组,没有直接批处理删除或修改的处理上面我帖的代码主要目的是:有条件快速删除DataTable中的一些记录,保持剩余的数据还在一个DataTable中。方案1.没有DataTable.Delete(),只有DataTable.Select(),而出来的结果不能直接转入新的DataTable,好像必须遍历,数据量大势必很慢方案2.现有DataTable.Rows.Remove(),还是只能逐条删,照样慢SQL语句如果能直接操作DataTable并立马生成新DataTable就好了。进一步能对多个关联DataTable筛选、汇总、合并等等,然后产生新的DataTable就基本满足啦。刚学C#,感觉数据处理方面很不习惯。我的理解是DataSet,DataTable之类都是临时数据容器,用于程序处理,在有需要反写数据库时再一次性提交给后台数据库。然而感觉这些“临时数据容器”很不方便,N多时候必须遍历。希望老手们指点,如何随心所欲的高效处理“临时”数据。
解决方案:
放开dataTable与dataSet这类东东,(这只是存在内存里的东东!)直接用TSQL语句,
解决方案:
dataTable与dataSet只是在读取数才用到,更新数据谁会用?
解决方案:
引用17楼的回复:

dataTable与dataSet只是在读取数才用到,更新数据谁会用?

比如我从Excel中取得一个数据表,从SqLServer中获得另一个表,这两个表只是程序处理的一些数据源,我总得把它们放在DataTable中吧。我要对这两个数据表进行加工处理,然后得到我想要的结果表,最后写入SQLServer的另一个表。那么在我进行加工处理的时候,当然要用到删除、修改、汇总等等处理,目前我就觉得这些处理不方便啊,老有人说放开DataTable,用SQL,我做这些“内存”处理的时候怎么放开它们?换句话说,数据从存储介质读入内存后,就是为了进行加工,加工好了再写入存储介质。现在我的问题是加工不方便。我理解楼上几位是要我别加工。

时间: 2024-08-04 03:54:37

刚学C#,怎么感觉对数据的处理很弱智?的相关文章

刚学c编的时间换算问题,感觉编的很笨求指教

问题描述 刚学c编的时间换算问题,感觉编的很笨求指教 题目内容: UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8.现在,你的程序要读入一个整数,表示BJT的时和分.整数的个位和十位表示分,百位和千位表示小时.如果小时小于10,则没有千位部分:如果小时是0,则没有百位部分:如果分小于10分,需要保留十位上的0.如1124表示11点24分,而905表示9点5分,36表示0点36分,7表示0点7分. 有效的输入范围是0到2359,即你的程序不可能从测试服务器读到0到2359以外的输

刚学c#,用c#怎么把txt文件里面特定的比如第n行第1列,第n行第3列,第n行第5列。。。。第n行第t列的数据挑出来放到excel文件啊,能给代码参考练练吗

问题描述 我是自学所以希望大神帮帮忙,小弟不才. 解决方案 解决方案二:string[]lines=File.ReadAllLines("");varn=1;if(lines.Length>n){strings=lines[n];//怎么放入excel呢??你都没规则} 解决方案三:刚学C#,先整点基础的解决方案四:先都读出来放数组里,然后你想怎么整就怎么整呗解决方案五:楼上正解解决方案六:列区分的规则是什么,空格还是?

菜鸟刚学html5,要通过什么方法才能在网页上显示表格,表格内容来自远程数据库sql

问题描述 菜鸟刚学html5,要通过什么方法才能在网页上显示表格,表格内容来自远程数据库sql 要在网页上显示表格内容,内容来自远程数据库sql,网页是asp.net 解决方案 asp.net不是有datalist,repater那种控件,你用repeater 的itemtemplate模板放tr,然后设置repeater数据源进行绑定就行了 解决方案二: 应该可以在前台用ajax获取 我个人之前试用过的方法是让后台生成接口,前台直接调用接口获取数据,并呈现出来. 解决方案三: 和html5没有

c++-刚学C++,关于C++类中this指针的疑惑

问题描述 刚学C++,关于C++类中this指针的疑惑 1.我们为什么要学习使用this指针? 2.什么时候使用this指针比较好? (感谢您的回答) 解决方案 this指针的用处: 一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果.this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数.也就是说,即使你没有写上this指针,编译器在编译的时候也是加上this的,它作为非静态成员函数的隐含

对象-刚学C#,我是小白 求大神指点,跪谢了!

问题描述 刚学C#,我是小白 求大神指点,跪谢了! 我想要读取一个子文件夹内所有的txt文件 并且把所有txt的文件中第一行的所有不一样的小标题统计到数组subtitle中,可是结果什么也没有输出 求解释 该怎么修改? private void button1_Click(object sender, EventArgs e) { if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) { //filepath[] filename[]

刚学数据库,希望大神指导一下,谢谢。

问题描述 刚学数据库,希望大神指导一下,谢谢. 问题是这样的,我在navicat中新建好数据库以后选择表导入向导,想导入access文件,但是出现了错误,就是下面图中显示的样子,请问是怎么回事,怎么解决呢?谢谢. 解决方案 navicat 应该是不支持access的,可以用MySQL SQL Server SQLite Oracle 和 PostgreSQL 的数据 解决方案二: 你用access的话到网上去找个管理工具吧,navicat好像不能关联access吧!建议楼主换一个管理工具试一下

用jquery 改写下面代码,昨天刚学,改过了就没用了

问题描述 用jquery 改写下面代码,昨天刚学,改过了就没用了 这是我之前写的.老师要求用jquery改进,刚接触jquery,不大会啊 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.or

求大神啊-刚学C语言的新人,,,

问题描述 刚学C语言的新人,,, 编程时什么时候需要return0啊???搞不懂.求大神解答,,,,,,,,,,. 解决方案 主函数又返回值时要用return 结束.主函数没有返回值时,不用也不能用return!.主函数一般是int main()(返回值是整型)或者void main()(无返回值). 解决方案二: 1.带返回值的main函数如果用return 0; 一般表示你的应用程序执行成功,如果返回非零值表示运行失败.如: int main() { if(fun1()==FALSE) re

c语言-为什么算法可以没有输入,可以举个具体的例子吗 急!!我刚学数据结构,好多都不理解,求大神支招!

问题描述 为什么算法可以没有输入,可以举个具体的例子吗 急!!我刚学数据结构,好多都不理解,求大神支招! 为什么算法可以没有输入,可以举个具体的例子吗 急!!我刚学数据结构,好多都不理解,求大神支招! 解决方案 不一定需要输入,第一你可以在程序之中就把初始值传入函数,或者是你写数据生成器也不用输入. 解决方案二: 不只是算法没有输入,,很多也不需要输入啊