小编jp2*_*ode的帖子

DirectoryInfo.Name的意外行为

我遇到了一些奇怪的事情.

每当我尝试在我的代码中创建DirectoryInfo对象并将其传递给根驱动器(C:)时,该对象的Name属性设置为"Debug",并且Parent设置为该{bin}文件夹.

我不经常尝试复制Windows资源管理器,因此我不知道这是否是常见的.

我在家里的开发PC上得到了这个,现在它正在这里工作.

有没有其他人得到这个或只是我?

代码窗口

c# directory visual-studio-2010

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

如何使用OleDb创建Excel数据库

我的任务是使用Access数据库并创建一个Excel文件,但我似乎无法创建 OleDb将使用的Excel文件.

Excel文件名将由运行该工具的工程师提供.Access数据库中的每个数据表都将成为Excel文件中的工作表.

现在,我有一个我无法克服的烦恼:如果Excel文件不存在,我无法创建它!

internal const string XL_FMT = "Provider=Microsoft.{0}.OLEDB.{1};Data Source={2};Mode=ReadWrite;Extended Properties=\"Excel {1};HDR={3};IMEX=1;\"";
internal DataTable tableNames;
internal OleDbConnection oleCon;
private string conStr;

public OleBase(string connectionString) {
  conStr = connectionString;
  // Using the debugger, conStr is:
  // "Provider=Microsoft.ACE.OLEDB.12.0;" +
  // "Data Source=C:\\Users\\cp-jpool\\Documents\\Ecat5.xlsx;" +
  // "Mode=ReadWrite;Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=1;\""
  object[] param = new object[] { null, null, null, "TABLE" };
  oleCon = new OleDbConnection(conStr);
  oleCon.Open();
  tableNames = oleCon.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, param);
}
Run Code Online (Sandbox Code Playgroud)

如果Excel文件不存在,每当我调用时,Open()我都会得到以下OleDbException:

" Microsoft Access数据库引擎找不到对象'C:\ Users\cp-jpool\Documents\Ecat5.xlsx'.确保对象存在,并正确拼写其名称和路径名.如果'C:\ Users\cp-jpool\Documents\Ecat5.xlsx'不是本地对象,请检查您的网络连接或联系服务器管理员. "

所以,文件不存在,呵呵?好吧,我尝试通过修改我CTor()来创建它: …

c# oledb excel oledbconnection

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

如何创建常量静态数组?

我有一个我的数据库的静态字符串类,所以我总是拼写他们设计的表和列.

我目前在这一个类中有大约500行代码,但这是一个简短的例子:

public const string PURCHASING = "PURCHASING";
public const string SCHED_PURCH = "SCHED/PURCH";
public const string SCHEDULING = "SCHEDULING";
Run Code Online (Sandbox Code Playgroud)

要创建"Clerk"部门的只读静态字符串数组,我使用此静态声明:

public static string[] CLERK_DEPT {
  get {
    return new string[] { PURCHASING, SCHEDULING, SCHED_PURCH };
  }
}
Run Code Online (Sandbox Code Playgroud)

在我的数据库字符串类中有许多这样的代码行.

今天,我遇到了这个活跃的帖子,有人做了非常相似的事情:

如何防止修改类中的私有字段?

答案提供了一种方法来提供我以前没有考虑过的只读字符串数组:

您必须返回阵列的副本.

public String[] getArr() {
  return arr == null ? null : Arrays.copyOf(arr, arr.length);
}
Run Code Online (Sandbox Code Playgroud)

这让我想知道,如果有人在这里知道更有效的方式传回我的只读字符串数组.

我必须承认,我总是憎恶return new string[]我的代码中的想法.

那么,有吗?...一种更有效,更清洁的方式,或者我已经创建了最佳解决方案?

c# class

0
推荐指数
1
解决办法
3552
查看次数

jQuery没有按类找到<div>

我试图显示相对于表单标题位置的动画控件.

<div class="page-header container">
Run Code Online (Sandbox Code Playgroud)

从jQuery中,我试图用这个函数显示消息:

function showMessage(stype, title, message) {
  var position = $('.page-header container').offset.top;
  if (typeof position == 'undefined') {
    position = '50px';
    alert(position);
  } else {
    position = "'" + position + "px'";
  }
  $('.' + stype).animate({ top: position }, 500);
}
Run Code Online (Sandbox Code Playgroud)

每当我得到警报('50px').

由于我使用CLASS而不是ID来识别,我想我会尝试阅读课堂上所有项目的集合'.page-header container':

function showMessage(stype, title, message) {
  var items = $('.page-header container');
  var position = items[0].offset.top;
  if (typeof position == 'undefined') {
    position = '50px';
    alert(position);
  } else {
    position = …
Run Code Online (Sandbox Code Playgroud)

jquery

0
推荐指数
1
解决办法
48
查看次数

C#这个VB.NET Me Indexer转换的索引器

如何在VB.NET中编写?

public class Foos : ICollection<Foo> {

  private List<Foo> list;

  public Foos() {
    list = new List<Foo>();
  }

  public Foo this[int index] {
    get {
      return list[index];
    }
  }

}
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的:

Public Class Foos
  Implements ICollection(Of Foo)

  Private list as Generic.List(Of Foo)

  Public Sub New()
    list = New Generic.List(Of Foo)()
  End Sub

  Public ReadOnly Property Me(index As Integer) As Foo
    Get
      Return list(index)
    End Get
  End Property

End Class
Run Code Online (Sandbox Code Playgroud)

Visual Studio提供了一个编译错误Me(index As Integer)(指向Me关键字):

关键字无效作为标识符.

VB编码器在这里使用什么?

.net c# vb.net

0
推荐指数
1
解决办法
130
查看次数

最大化列的 DB2 连接查询

我对基本的 SQL 没问题,但是当涉及到更复杂的搜索时,我的理解失败了。

现在,我正在尝试返回位置 16 的记录。

大多数记录都是空的,因此我无法使用这些记录调试我的数据库应用程序。

SELECT
  I.PART_NUM, I.ID, L.SHELF, L.IN_STOCK
FROM
  INVENTORY I
  JOIN LOCATIONS L ON I.ID=L.INV_ID
WHERE
  L.ID=16 AND PART_NUM IN 
  (
    SELECT
      TOP 10 N.PART_NUM
    FROM
      INVENTORY N 
      JOIN LOCATIONS T ON N.ID=T.INV_ID
    WHERE
      T.ID=16
    ORDER BY 
      IN_STOCK
  )
ORDER BY 
      IN_STOCK, I.PART_NUM
Run Code Online (Sandbox Code Playgroud)

开发人员不能直接访问数据库,而是使用允许基本 SQL 调用的内部开发应用程序进行调用。

当我尝试运行下面的代码时,出现以下错误:

错误 [42601][IBM][DB2/AIX64] SQL0104N 在“DOR IN (SELECT TOP”之后发现意外标记“10”。预期标记可能包括:“CONCAT”。

我不确定这是我们内部开发的应用程序的限制还是 DB2 中的某些东西。

我去了这里的 SQL 教程:

http://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all

在那里,我使用他们提供的表来创建类似的查询:

SELECT 
    OrderID, ProductID, Quantity, LastName, FirstName
FROM 
    OrderDetails I 
    JOIN Orders L ON …
Run Code Online (Sandbox Code Playgroud)

sql db2

0
推荐指数
1
解决办法
365
查看次数

使用LINQ:如何从类集合中返回属性数组?

这是一个有TheProperty问题的基础类:

class BasicClass {
  public BasicClass() {
    TheProperty = new Object();
    Stamped = DateTime.Now;
  }
  public object TheProperty { get; set; }
  public DateTime Stamped { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)

这是基本清单:

class BasicList {
  private List<BasicClass> list;
  public BasicList() {
    list = new List<BasicClass>();
  }
  public BasicClass this[object obj] {
    get { return list.SingleOrDefault(o => o.TheProperty == obj); }
  }
  public void Add(BasicClass item) {
    if (!Contains(item.TheProperty)) {
      list.Add(item);
    }
  }
  public bool Contains(object obj) {
    return …
Run Code Online (Sandbox Code Playgroud)

c# linq lambda

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

标签 统计

c# ×5

.net ×1

class ×1

db2 ×1

directory ×1

excel ×1

jquery ×1

lambda ×1

linq ×1

oledb ×1

oledbconnection ×1

sql ×1

vb.net ×1

visual-studio-2010 ×1