如何检查数据行中是否存在列?
我正在构建数据表来组织一些我已经从数据库中撤回的数据.根据每行中的数据类型,我需要创建一个具有不同列的数据表.然后,稍后,我想检查并查看我正在查看的数据表是否有某个列.
我知道我可以捕获异常并以这种方式处理它,但我很好奇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) 有人可以提供一些如何做到这一点?我可以为常规文本或字节数组执行此操作,但不确定如何处理pdf.我先把pdf填入字节数组吗?
我可以删除多个文件夹中具有特定扩展名的文件:
Get-childitem * -include *.scc -recurse | remove-item
Run Code Online (Sandbox Code Playgroud)
但是我还需要删除具有特定名称的文件夹 - 特别是当你从subversion repo中下载文件时subversion创建的文件夹(".svn"或"_svn").
我有一个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) 我在一家拥有约350名员工的公司工作,我们正在成长.我们当前的代码库结构不是很好,我们正在研究如何立即改进它(通过将对象组织到命名空间,分离关注点等)并转向模型驱动的架构方法,我们首先使用uml建模和设计所有内容,然后从该模型生成代码.我们一直在密切关注Sparx Systems Enterprise Architect(EA)(支持UML 2.0),我们也在考虑VS 2010中的工具.我知道还有其他工具(Rational XDE是其中之一)但我真的不知道我认为我们现在可以在每个许可证上花费1500美元以上.
我不是在寻找哪种工具比另一种工具更好的答案,而是更多地寻找从牛仔编码环境(即,很少计划和设计,只是跳入并开始编码)到模型驱动架构的体验.回顾它对您的组织有帮助吗?有哪些痛点?有什么风险?有什么好处?
编译程序集以分隔文件夹有什么意义?在我的工作中,我们有50多个项目,它们存在于几个不同的解决方案中.当项目在同一解决方案中时,您可以设置项目引用,并相应地在\ debug或\ release文件夹中获取程序集.但是,当设置外部引用(通过浏览)并明确指向\ debug\assebmly.dll或\ release\assembly.dll时,如果引用的项目是在发布模式下编译的,则引用项目将不会选择"发布"程序集.
我理解通常一个构建过程可以处理这个,但是在我需要在构建过程之外的发布模式下编译项目的情况下,这意味着我必须检查所有外部引用以确保它们指向\ release文件夹.这很容易错过 - 而且我不想每次都要考虑.所以我的想法是始终将项目的程序集编译到\ bin文件夹,无论是选择了调试还是发布配置.对这种方法有任何缺点吗?
每种文件格式的技术规格/功能是什么?
一种类型是否比另一种更好地处理某些类型的图形?
我有一个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) 我对使用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"向后兼容"?