小编Jon*_*ton的帖子

如何在XML中创建和设置属性的值?

如何在XML中创建和设置属性的值?我需要设置ateam id ="101"?有了这个我列出了我的代码.通过使用我创建的createAttribute但我不知道如何设置该属性的值..

/* create XML Content */
 $domtree = new DOMDocument('1.0', 'UTF-8');
 $xmlRoot = $domtree->createElement("xml");
 $xmlRoot = $domtree->appendChild($xmlRoot);
 $currentTrack = $domtree->createElement("messsage");
 $currentTrack = $xmlRoot->appendChild($currentTrack);
 $currentTrack->appendChild($domtree->createElement('category','Scores'));
 $Game = $currentTrack->appendChild($domtree->createElement('Game',''));
 $Game->appendChild($v = $domtree->createElement('ateam','India'));
 $Game->appendChild($domtree->createElement('score',30));
 $v->appendChild($domtree->createAttribute('id'));
  echo $domtree->saveXML();
Run Code Online (Sandbox Code Playgroud)

OUTPUT

<?xml version="1.0" encoding="UTF-8"?>
<xml>
    <messsage>
        <category>Scores</category>
        <Game>
            <ateam id="">India</ateam>
            <score>30</score>
        </Game>
    </messsage>
</xml>
Run Code Online (Sandbox Code Playgroud)

预计输出

 <?xml version="1.0" encoding="UTF-8"?>
    <xml>
        <messsage>
            <category>Scores</category>
            <Game>
                <ateam id="101">India</ateam>
                <score>30</score>
            </Game>
        </messsage>
    </xml>
Run Code Online (Sandbox Code Playgroud)

php xml dom

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

在线/离线获取磁盘

我有一个程序正在对Windows中的磁盘执行原始IO.

如果目标磁盘在线,则一切正常.但是,某些Windows操作系统中的默认行为是使新磁盘最初脱机.

我很难找到在Windows上执行此操作的正确API.等效的命令行将是这样的:

"select disk 2", "online disk" | diskpart
Run Code Online (Sandbox Code Playgroud)

但是我需要能够在代码中执行此操作.我查看了DeviceIoControl Win32 API(我认为是正确的)但无法确定要使用的控件代码.我无法找到它的事实让我觉得我可能错过了一个更好的API来使用.

c# winapi deviceiocontrol

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

方法重载的通用约束

我有一个带有一些泛型方法的接口,我想实现一个带有重载的方法来接受一个类的实例,或者它的PK值(它是一个int或GUID但确实有所不同).

我添加了类似这些示例的方法:

    void DoSomething<TKey>(TKey key) where TKey: struct;
    void DoSomething<TModel>(TModel model) where TModel : class;
Run Code Online (Sandbox Code Playgroud)

其中第二个上的"DoSomething"方法名称突出显示,错误是

类型'ISomeStuff'已经定义了一个名为'DoSomething'的成员,它具有相同的参数类型.

我对此感到惊讶,因为我已经通过参数明确定义了不同类型:一个是类,另一个是结构.

为什么这不足以使签名不同?

c# generics overloading

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

sql - 如果不存在则插入

我在使用SQL查询时遇到问题.如果已经存在相同的行,我需要插入一行.这是我到目前为止:

DECLARE
BEGIN
   FOR FOLDER_ROW IN (SELECT FOLDERID, USERID FROM DATA1.FOLDERS)
      LOOP                       
          IF NOT EXISTS (SELECT * FROM DATA1.FOLDER_USER WHERE FOLDER_ID = FOLDER_ROW.FOLDERID AND USER_ID = FOLDER_ROW.USERID) 
          INSERT INTO DATA1.FOLDER_USER (FOLDER_ID, USER_ID) VALUES (FOLDER_ROW.FOLDERID, FOLDER_ROW.USERID);
     END LOOP;
    COMMIT;
END;
Run Code Online (Sandbox Code Playgroud)

我不会非常熟悉sql特别是不存在的语法所以当我执行时我得到以下错误:

ORA-06550:第37行,第11列:PLS-00103:当遇到以下情况之一时遇到符号"INSERT":

然后和或

符号"then"代替"INSERT"继续.

ORA-06550: line 38, column 10:
PLS-00103: Encountered the symbol "LOOP" when expecting one of the following:

   if
ORA-06550: line 40, column 5:
PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following:

   end not pragma final …
Run Code Online (Sandbox Code Playgroud)

sql oracle

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

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

将自定义Linq-2-SQL迁移到Entity Framework

我有一个基于.net 3.5中的Linq-2-SQL构建的数据层.我们正在考虑很快迁移到.Net 4. 当我们开始原始开发时,我有兴趣将EF用于数据层,但发现它在.Net 3.5中并不是真正的选项.现在我们正在升级,我正在思考它.

我意识到.Net4仍然支持L2S,但是我希望切换到更活跃的开发领域,以便将来可以成为业务核心的系统的未来验证.(我的理解是基于诸如"我们说我们会改进它的核心(L2S)并在有意义的地方添加客户请求但是实体框架将成为主要关注点"这样的陈述.来自Damien Guard的评论到这篇文章.

使它复杂化的是我们为L2S实现做了一些改进:

  • 我们已经定制了.tt生成文件和L2ST4.
  • 我们正在为所有CRUD操作(我们自动生成)使用存储过程,因为这允许我们根据需要在特定表上打开/关闭粒度审计跟踪.

我所知道的其余大部分内容都是可以的,因为我自己在EF4中完成了它(事实上很多都是在EF4数据库上开始的),但是我想知道上面的自定义是否会成为问题.

所以:

  • 我们还可以拥有定制的.tt类型生成系统(或类似的东西)吗?
  • 我们还可以使用自己定义的sprocs来进行CRUD吗?

注意:如果我们使用EF,我可能会使用Database First版本.

c# linq entity-framework

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

如何在vb.net中创建Type T的对象

最初我是用C#编写的.

最近开始使用vb.net进行我的新项目.

在C#反射法,我用于创建一般类型的对象T作为这样

T item= new T()
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议我如何在VB.Net中实现相同的功能

Dim item As new Type 
Run Code Online (Sandbox Code Playgroud)

没有编译.请帮忙

vb.net generics

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

希望在excel中选择未确定的行数作为较大VBA宏的一部分

我正在使用一本包含大量床单的excel书; 第一张表链接到外部程序并通过外部函数提取数据,导入的行数变化很大.

该块数据通过许多后续表格进行传播.第一步是使用工作表1中的行数填充列A(行名称).从这里,数据被分成多个列(当前为B-> L).顶行使用IF()函数填充第一行,我正在寻找一个干净的宏来将此公式复制到第x行(随每次数据导入刷新而变化),然后粘贴可管理文件大小的值.

这是我到目前为止所得到的; 它工作,但它是公平的(阅读:非常!)笨拙:

Sub Refresh_Data()  
    Sheets("Sheet2").Select  
    ActiveWindow.ScrollWorkbookTabs Sheets:=13  
    Sheets(Array("Sheet2" ... "Sheet25")).Select     
    Sheets("Sheet2").Activate  
    Sheets("Sheet25").Select Replace:=False  
    Range("B1:L1").Select  
    Selection.Copy  
    Range("__B2:B1000__").Select  
    ActiveSheet.Paste  
    Application.Calculate  
    ActiveWindow.ScrollWorkbookTabs Position:=xlFirst  
    Sheets(Array("Sheet2" ... "Sheet25")).Select  
    Sheets("Sheet2").Activate  
    Sheets("Sheet25").Select Replace:=False  
    Sheets("Sheet2").Select  
    Range("B3").Select  
    Sheets(Array("Sheet2" ... "Sheet25")).Select  
    Sheets("Sheet2").Activate  
    Sheets("Sheet25").Select Replace:=False  
    Range("B3:L4").Select  
    Range("__B2:L1000__").Select  
    Application.CutCopyMode = False  
    Selection.Copy  
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _  
        :=False, Transpose:=False  
    Sheets("Check_sheet").Select  
    MsgBox "Update complete"  
End Sub`
Run Code Online (Sandbox Code Playgroud)

我想要实现的主要是B2:L1000用可以评估A列中行数的东西替换代码,并相应地选择行B到L中的范围.

由于列L是最后填充的列,我不明白为什么这也不能水平完成而不是定义"B:L",因为需要添加以后的列.

excel vba spreadsheet excel-vba

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

ASP.NET服务器控件错误:未知的服务器标记

这是我第一次尝试构建ASP.NET服务器控件.编写控制代码很简单,但我遇到了试图控制网页的障碍.

我在一个项目中构建了控件,并在另一个项目中引用了它.在第二个项目中,我将控件放入工具箱并在页面上拖放控件.我可以无错误地编译Web项目,但是当我浏览到该页面时,我收到此错误:

分析器错误消息:未知的服务器标记'cc1:StandardControl1'.

做一些环顾四周我看到其他人出于各种原因出现这个问题,但似乎没有一个适用于我的情况.一种解决方案是将程序集添加到寄存器标记,但这不是我的页面的问题:

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="another.aspx.vb" Inherits="Educate.another" %>
<%@ Register Assembly="ServerControlSandbox" Namespace="ServerControlSandbox" TagPrefix="cc1" %>

<!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.org/1999/xhtml" >
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <cc1:StandardControl1 runat="server">
        </cc1:StandardControl1>
    </div>
    </form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

另一个解决方案是将其添加到web.config,再次使用assembly属性.但是在我的web.config中我仍然得到错误:

<controls>
        <add tagPrefix="cc1" namespace="ServerControlSandbox" assembly="ServerControlSandbox"/>
                <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            </controls>
Run Code Online (Sandbox Code Playgroud)

我想我有一些简单的东西,但我认为没有错,从我看过的例子来看.有没有人有任何想法?谢谢.

另外,这是控制代码:

namespace ServerControlSandbox
{
    [DefaultProperty("Text")]
    [ToolboxData("<{0}:StandardControl1 runat=server></{0}:StandardControl1>")]
    public class StandardControl : WebControl
    {
        [Bindable(true)] …
Run Code Online (Sandbox Code Playgroud)

c# asp.net custom-controls

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

.NET以下2行给出了编译错误,为什么?

我在VB.NET中的ASP.NET中有以下2行(对于C#,只是用'var'替换世界'Dim'),这是我从一个例子中得到的.

 Dim tmpFile = Path.GetTempFileName()
 Dim tmpFileStream = File.OpenWrite(tmpFile)
Run Code Online (Sandbox Code Playgroud)

我得到一个错误File.OpenWrite(tmpFile),上面写着'重载解析失败,因为没有可访问的'文件'接受这个数量的参数'.谁能解释为什么会发生这种错误?我试着查看文档,似乎无法搞清楚.谢谢.

.net vb.net

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