小编Ton*_*one的帖子

ADO.NET DataRow - 检查列是否存在

如何检查数据行中是否存在列?

我正在构建数据表来组织一些我已经从数据库中撤回的数据.根据每行中的数据类型,我需要创建一个具有不同列的数据表.然后,稍后,我想检查并查看我正在查看的数据表是否有某个列.

我知道我可以捕获异常并以这种方式处理它,但我很好奇datarow对象上是否有属性或方法可以为我执行此操作?

这是我如何通过捕获异常来做到这一点:

public static String CheckEmptyDataRowItem(DataRow row, String rowName, String nullValue)
{
    try
    {
        return row[rowName].ToString();
    }
    catch (System.ArgumentException)
    {
        return nullValue;
    }
}
Run Code Online (Sandbox Code Playgroud)

datatable ado.net datarow

108
推荐指数
2
解决办法
4万
查看次数

Base64用C#编码PDF?

有人可以提供一些如何做到这一点?我可以为常规文本或字节数组执行此操作,但不确定如何处理pdf.我先把pdf填入字节数组吗?

c# base64 encoding

30
推荐指数
2
解决办法
5万
查看次数

如何使用PowerShell以递归方式删除具有特定名称的文件夹?

我可以删除多个文件夹中具有特定扩展名的文件:

Get-childitem * -include *.scc -recurse | remove-item
Run Code Online (Sandbox Code Playgroud)

但是我还需要删除具有特定名称的文件夹 - 特别是当你从subversion repo中下载文件时subversion创建的文件夹(".svn"或"_svn").

directory powershell recursion windows-7

24
推荐指数
3
解决办法
2万
查看次数

错误:SelectedValue无效,因为它在项目列表中不存在

我有一个Gridview绑定到ObjectDataSource(objStudentDetails).在Gridview的编辑/插入模式中,其中一个字段是DropDownList,它从查找表中获取它的选择列表选项.我将此DropDownList绑定到另一个表示查找表的ObjectDataSource控件(objStateList).只要objStudentDetails ObjectDataSource中的值与objStateList ObjectDataSource中的某个值匹配,它就可以正常工作,至少在非空字符串值的情况下是这样.

objStateList具有这些值(来自存储的proc加载它 - ID#6是一个空字符串''):

StateId     State
----------- -----
6             
4           AL
1           GA
3           KY
2           TN
Run Code Online (Sandbox Code Playgroud)

objStudentDetails具有这些值(来自加载它的存储过程):

FirstName   LastName   State
----------- ---------- -----
tone        smith      TN
Run Code Online (Sandbox Code Playgroud)

或者它可以有这个结果集(State是一个空字符串 - ''):

FirstName   LastName   State
----------- ---------- -----
jenny       johnson     
Run Code Online (Sandbox Code Playgroud)

在第一个objStudentDetails结果集中,EditItemTemplate中的状态DropDownList显示正常.但是,在第二个结果集中,我收到此错误:

'ddlEditState' has a SelectedValue which is invalid because it does not exist in the list of items.
Parameter name: value 
Run Code Online (Sandbox Code Playgroud)

我认为,因为我的查找表有一个空字符串的值,objStudentDetails值与状态的空字符串匹配,但有些东西不能按照我期望的方式工作.

这是Gridview的EditItemTemplate代码:

<EditItemTemplate>
  <asp:Panel ID="panEditState" runat="server">
    <asp:DropDownList ID="ddlEditState" runat="server" CssClass="GridviewDropdownlist"
      DataSourceID="objStateList" DataTextField="State" DataValueField="State"      
      SelectedValue='<%# Bind("State") %>'
      Width="50px">
</asp:DropDownList>
</asp:Panel> …
Run Code Online (Sandbox Code Playgroud)

asp.net gridview edititemtemplate drop-down-menu

5
推荐指数
1
解决办法
2万
查看次数

转向模型驱动架构方法有哪些好处和风险?

我在一家拥有约350名员工的公司工作,我们正在成长.我们当前的代码库结构不是很好,我们正在研究如何立即改进它(通过将对象组织到命名空间,分离关注点等)并转向模型驱动的架构方法,我们首先使用uml建模和设计所有内容,然后从该模型生成代码.我们一直在密切关注Sparx Systems Enterprise Architect(EA)(支持UML 2.0),我们也在考虑VS 2010中的工具.我知道还有其他工具(Rational XDE是其中之一)但我真的不知道我认为我们现在可以在每个许可证上花费1500美元以上.

我不是在寻找哪种工具比另一种工具更好的答案,而是更多地寻找从牛仔编码环境(即,很少计划和设计,只是跳入并开始编码)到模型驱动架构的体验.回顾它对您的组织有帮助吗?有哪些痛点?有什么风险?有什么好处?

architecture mda

5
推荐指数
1
解决办法
1975
查看次数

Visual Studio 2008/2010中的调试/发布配置编译到不同文件夹的目的是什么?

编译程序集以分隔文件夹有什么意义?在我的工作中,我们有50多个项目,它们存在于几个不同的解决方案中.当项目在同一解决方案中时,您可以设置项目引用,并相应地在\ debug或\ release文件夹中获取程序集.但是,当设置外部引用(通过浏览)并明确指向\ debug\assebmly.dll或\ release\assembly.dll时,如果引用的项目是在发布模式下编译的,则引用项目将不会选择"发布"程序集.

我理解通常一个构建过程可以处理这个,但是在我需要在构建过程之外的发布模式下编译项目的情况下,这意味着我必须检查所有外部引用以确保它们指向\ release文件夹.这很容易错过 - 而且我不想每次都要考虑.所以我的想法是始终将项目的程序集编译到\ bin文件夹,无论是选择了调试还是发布配置.对这种方法有任何缺点吗?

我这里也有关于这个主题的博客文章.

.net configuration visual-studio

5
推荐指数
1
解决办法
1163
查看次数

.psd (photoshop) 和 .xcf (gimp) 文件类型有什么区别?

每种文件格式的技术规格/功能是什么?

一种类型是否比另一种更好地处理某些类型的图形?

photoshop file-type gimp

4
推荐指数
1
解决办法
2196
查看次数

ObjectDataSource插入方法

我有一个ObjectDataSource,我绑定到DetailsView控件.我有一个在业务层(调用数据层)中编写的insert方法,一切正常......直到我想在insert方法触发之前做其他事情.在进入我的业务层之前,我需要访问fileupload控件.所以我在DetailsView上连接了一个ItemCommand事件 - 它接收了事件,我可以用FileUpload控件做我需要的就好了.在那种情况下,我在业务层中调用insert方法 - 与ObjectDataSource控件中指定的方法相同.但是Insert方法会触发两次!在考虑了这一点后,我意识到这是预期的行为 - 它从ItemCommand事件调用时被触发一次,而第二次从ObjectDataSource InsertMethod触发.

我以为我可以简单地从ObjectDataSource中删除InsertMethod属性以消除该方法的双重攻击,但是当我这样做时,我收到此错误:

除非指定了InsertMethod,否则ObjectDataSource'objStudentDetails'不支持插入.

那么有什么办法可以告诉ObjectDataSource不要激活方法吗?请参阅以下代码简化代码:

<asp:DetailsView ID="dtvStudentDetails" 
  runat="server" 
  AutoGenerateRows="False" 
  DataSourceID="objStudentDetails"
  OnItemCommand="dtvStudentDetails_ItemCommand">
   :
   :
</asp:DetailsView>


<asp:ObjectDataSource ID="objStudentDetails" 
  runat="server" 
  TypeName="AIMLibrary.BLL.Students" 
  SelectMethod="GetStudentDetails" 
  UpdateMethod="UpdateStudent">         
    :
    :
</asp:ObjectDataSource>


public static Int32 InsertStudent(Int32 studentId, String firstName, String lastName, String employer, String phone, String email, String address, String city, String state, String zip, String dob, String cardImagePath)
{
  StudentDetails record = new StudentDetails(firstName, lastName, employer, phone, email, address, city, state, zip, dob, cardImagePath);
  StudentsProvider provider = new StudentsProvider();
  return provider.InsertStudent(record);  //actual …
Run Code Online (Sandbox Code Playgroud)

asp.net objectdatasource

2
推荐指数
1
解决办法
8128
查看次数

.NET 4.0 CTP和EF CTP - 它对于生产代码是否足够好?

我对使用4.0框架以及Entity Framework 4.0非常感兴趣.目前.net 4.0在CTP中,而我的EF 4.0在CTP预览版中.我将不再编码几个月,但我不太确定.net 4.0或EF 4.0将是RTM.

我的问题:

1)关于Microsoft产品,CTP通常是否足以稳定生产?

2)如果我最初使用CTP然后想要在可用时升级到RTM我应该期待升级中的很多痛苦吗?或者RTM通常与CTP"向后兼容"?

entity-framework .net-4.0 entity-framework-4

2
推荐指数
1
解决办法
863
查看次数