Tag: C#的

从数据读取器填充数据表

我正在做一个基本的东西在C#(MS VS2008),并有一个比正确的devise比特定的代码更多的问题。 我正在创build一个数据表,然后尝试从一个datareader(这是基于SQL存储过程)加载数据表。 我想知道的是,加载数据表最有效的方法是做一个while语句,或者是否有更好的方法。 对我来说,唯一的缺点是我必须手动input我想添加在我的while语句中的字段,但是我也不知道如何自动执行,因为我不希望SP中的所有字段都只是select字段,但这在我眼里并不是什么大事。 我将代码片段包含在我所做的全部内容之下,但对我来说,代码本身并不显着,甚至不是我所问的。 更多的是对我的方法感到疑惑,如果我的策略是错误的/效率低下的,我会在后面为代码提供帮助。 var dtWriteoffUpload = new DataTable(); dtWriteoffUpload.Columns.Add("Unit"); dtWriteoffUpload.Columns.Add("Year"); dtWriteoffUpload.Columns.Add("Period"); dtWriteoffUpload.Columns.Add("Acct"); dtWriteoffUpload.Columns.Add("Descr"); dtWriteoffUpload.Columns.Add("DEFERRAL_TYPE"); dtWriteoffUpload.Columns.Add("NDC_Indicator"); dtWriteoffUpload.Columns.Add("Mgmt Cd"); dtWriteoffUpload.Columns.Add("Prod"); dtWriteoffUpload.Columns.Add("Node"); dtWriteoffUpload.Columns.Add("Curve_Family"); dtWriteoffUpload.Columns.Add("Sum Amount"); dtWriteoffUpload.Columns.Add("Base Curr"); dtWriteoffUpload.Columns.Add("Ledger"); cmd = util.SqlConn.CreateCommand(); cmd.CommandTimeout = 1000; cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "proc_writeoff_data_details"; cmd.Parameters.Add("@whoAmI", SqlDbType.VarChar).Value = WindowsIdentity.GetCurrent().Name; cmd.Parameters.Add("@parmEndDateKey", SqlDbType.VarChar).Value = myMostRecentActualDate; cmd.Parameters.Add("@countrykeys", SqlDbType.VarChar).Value = myCountryKey; cmd.Parameters.Add("@nodekeys", SqlDbType.VarChar).Value […]

使用C#更改文件扩展名

我有很多文件types:pdf,tiff,jpeg,bmp。 等我的问题是如何更改文件扩展名? 我试过这个: my file= c:/my documents/my images/cars/a.jpg; string extension = Path.GetExtension(myffile); myfile.replace(extension,".Jpeg"); 无论是什么types的文件,我指定的格式必须与文件名。 但它不起作用。 我从浏览器中获取文件path,如c:\..\..\a.jpg ,文件格式为a.jpeg 。 所以,当我试图删除它,它给了我一个错误: Cannot find the file on specified path' 。 所以,我认为这与不匹配的文件扩展名有关。 所以,我试图将.jpg转换为.jpeg然后删除文件。

Java相当于C#的逐string@

快速的问题。 是否存在与应用于Java中的string相当的@ 例如,我可以在C#中执行@"c:\afolder\afile" ,并在处理时忽略转义字符,而不必执行"c:\\afolder\\aFile" 。 有没有Java的等价物? 嗯:stackoverflow是逃避我..大声笑。 第二个例子应该是: C:(双反斜杠)afolder(双反斜杠)å文件

C#4.0:我可以使用TimeSpan作为默认值的可选参数吗?

这两个都会产生一个错误,说他们必须是编译时常量: void Foo(TimeSpan span = TimeSpan.FromSeconds(2.0)) void Foo(TimeSpan span = new TimeSpan(2000)) 首先,有人可以解释为什么在编译时无法确定这些值吗? 有没有一种方法来指定一个可选的TimeSpan对象的默认值?

setvbuf无法使stdin无缓冲

我的主要目的是让getchar返回一个字符,而不是等待ENTER键。 我试过这个 int main() { setvbuf(stdin,NULL,_IONBF,0); getchar(); return 0; } 比较这与setvbuf的原型 setvbuf ( FILE * stream, char * buffer, int mode, size_t size ); 它应该将stdin设置为无缓冲模式。 但仍然getchar()不断等待ENTER 我见过这样的相关职位 在C中读取字符时打印 这是build议替代方法使stdin无缓冲。 但我很好奇,知道为什么setvbuf方法不起作用

如何在未聚焦的情况下检测keyPress?

我正在尝试检测“ Print Screenbutton,而窗体不是当前活动的应用程序。 如果可能,怎么做?

如何获得数组的所有子集?

给出一个数组: [dog, cat, mouse] 什么是最优雅的方式来创build: [,,] [,,mouse] [,cat,] [,cat,mouse] [dog,,] [dog,,mouse] [dog,cat,] [dog,cat,mouse] 我需要这个适用于任何大小的数组。 这本质上是一个二进制计数器,其中数组索引表示位。 这大概让我使用一些按位操作来计算,但我看不到一个很好的方式将其转换为数组索引。

Webdriver:file upload

有没有办法与webdriver中的file upload框交互? path被放入的表单字段是只读的,所以我不能写入。

如何使用EF 4.x DbContext生成器获取属性更改通知

我正在玩Entity Framework 4.3,所以我使用DbContext生成器来创build上下文和实体类。 使用默认的EF 4代码生成器模板,实体类实现INotifyPropertyChanged,并在属性设置器中添加Changing和Changed部分方法。 当我使用EF 4.x DbContext生成器时,如下图所示,实体类要轻得多,并且不包含任何跟踪属性更改的方法。 这里是一个例子: //—————————————————————————— // <auto-generated> // This code was generated from a template. // // Manual changes to this file may cause unexpected behavior in your application. // Manual changes to this file will be overwritten if the code is regenerated. // </auto-generated> //—————————————————————————— using System; using System.Collections.Generic; […]

将UTCdate时间全球转换为用户指定的本地date时间

我将所有DateTime字段存储为UTC时间。 当用户请求一个网页,我想采取他首选的本地时区(而不是服务器的本地时区),并自动显示所有的Web窗体中的所有date时间字段作为本地date。 当然,我可以在每个窗体的每个DateTime.ToString()调用上应用转换,或者实现一些辅助工具,但这是一个耗时的任务,还有一些第三方组件很难用自定义的DateTime显示模板进行configuration。 本质上,我想使DateTime类的行为如下: from this moment on for this web request, whenever some code calls DateTime.ToString(), convert it to the local time using the timezone offset given at the very beginning of the web request, but if possible, please keep .NET core library DateTime.ToString() calls intact (I don't want to mess up event logging […]