小编jp2*_*ode的帖子

通过OleDb使用Microsoft Access数据库引擎将DataTable插入Excel

今天我遇到了使用OleDbConnection本网站上的Microsoft Excel文件读取数据的说明:OLE DB提供程序

这允许我读取Excel文件中的所有数据:

private const string EXCEL_CON =
  @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};" +
  @"Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";

    public DataTable ExtractExcel(string fullFilename, string tableName)
    {
        var table = new DataTable();
        string strCon = string.Format(EXCEL_CON, fullFilename);
        using (var xlConn = new System.Data.OleDb.OleDbConnection(strCon))
        {
            ConnectionState initialState = xlConn.State;
            try
            {
                if ((initialState & ConnectionState.Open) != ConnectionState.Open)
                {
                    xlConn.Open();
                }
                string sql = string.Format("SELECT * FROM `{0}`;", tableName);
                using (var cmd = new System.Data.OleDb.OleDbCommand(sql, xlConn))
                {
                    table.Load(cmd.ExecuteReader());
                }
            }
            finally
            { // it …
Run Code Online (Sandbox Code Playgroud)

c# oledb excel

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

将数据写入来自单个应用程序C#,Visual Studio 2008的多个实例的一个文件

我有一个Visual Studio项目,可以安装到我们公司大约一半的PC上.

该应用程序有一个错误记录例程,它将错误消息附加到保存在此处的文本文件中:

static string _appPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), Application.CompanyName);
Run Code Online (Sandbox Code Playgroud)

在大多数情况下,这很好用,并允许我到个人电脑上的日志文件.

它无处不在.某些用户的帐户有限,无权写入该Environment.SpecialFolder.CommonApplicationData文件夹.

我可以在这里修改存储的路径:

static string _newPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), Application.CompanyName);
Run Code Online (Sandbox Code Playgroud)

但是,当我需要收集日志文件时,我必须深入了解每台PC上的每个用户帐户文件夹以获取日志.

我想要做的是将这些消息存储在我们的内部网络上.这个问题是如何处理多个写实例.

static string _netPath = Path.Combine(@"\\FileServer1", Application.CompanyName);
Run Code Online (Sandbox Code Playgroud)

我想使用Messaging,但我不知道该怎么做 - 或者它是否是一个很好的解决方案.管理层希望我在本周五(今天是星期三)推出此更新.

_netPath用于存储来自我们网络中的大约100台PC的日志文件的最简单,最可靠的方法是什么?

注意:如果您引用MSDN,请粘贴文章.我们有一个旧的Microsoft ISA防火墙,无法通过MSDN网站.(ISA服务器每次都会超时,而且它是如此令人费解!请参阅ISA代理服务器无法...对于我未解决的问题.)

c# message-queue visual-studio

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

我该如何编写这个LINQ查询?

我试图围绕这个名为LINQ的"新概念".听说过吗?大声笑

无论如何,我已经阅读了足够的知道这可以使用LINQ写得更清楚,但我不明白我是怎么写的:

DataTable table = MySqlDateTimeQueryResult();
for (int i = 0; i < table.Rows.Count; i++) {
  DataRow r = table.Rows[i];
  DateTime dt = (DateTime)r["Date_Time"];
  Console.WriteLine(dt);
}
Run Code Online (Sandbox Code Playgroud)

编辑[标题更改]:如何使用LINQ编写?

显然,这不是一个查询.

c# linq

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

Lambda或LINQ按Shift排序列表<Employee>,C#

我有一个需要过滤的员工列表,我想看看如何使用lambda和/或LINQ表达式来完成此操作.

我想返回列表中的所有Employees,但我希望它们按Shift,Lastname和Firstname的顺序返回.

List<Employee> empList = GetEmployeesInOtherCode();
// ...
int MAX_SHIFT = 5;
List<string> sortedNames = new List<string>(empList.Count);
for (int i = 0; i < MAX_SHIFT; i++) {
  List<string> localShift = new List<string>();
  for (int j = 0; j < empList.Count; j++) {
    Employee e = empList[j];
    if (e.Shift == i) {
      localShift.Add(string.Format("{0}, {1}", e.Lastname, e.Firstname));
    }
  }
  localShift.Sort();
  sortedNames.AddRange(localShift.ToArray());
}
foreach (string line in sortedNames) {
  Console.WriteLine(line);
}
Run Code Online (Sandbox Code Playgroud)

编辑: Jeez,你们快!你用什么来产生这些东西?您是否正在编写它,或者是否有帮助的工具?

c# linq lambda

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

使用IEnumerable <T>创建通用集合的通用类

这是关于泛型两(2)部分问题

我必须创建几个类似的类来为类似设计的数据库表建模.

所有表都包含一个ID int和一个Text nvarchar(50)字段.一个或两个可能包含一些其他字段.

我很少使用泛型,但我经常在这里看到它的例子.这是我创建另一个泛型类中使用的泛型类的最大尝试.

我的基本结构如下,我将用注释指出什么不起作用以及Visual Studio 2010显示的错误消息:

public class IdText {

  public IdText(int id, string text) {
    ID = id;
    Text = text;
  }

  public int ID { get; private set; }

  public string Text { get; private set; }

}

public class TCollection<T> : IEnumerable<T> where T : IdText {

  private List<T> list;

  public TCollection() {
    list = new List<T>();
  }

  public void Add(int id, string text) { …
Run Code Online (Sandbox Code Playgroud)

c# oop generics

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

Cookie没有快速设置

我通常不使用Cookie,但我想查看这个通常使用的Session变量.

如果我设置了Cookie,那么请立即尝试从中读取,我没有得到我刚刚设置的值.

但是,如果我刷新页面或关闭浏览器并将其重新打开,则Cookie似乎已设置.

我正在Chrome中调试它.那会有什么不同吗?

public const string COOKIE = "CompanyCookie1";
private const int TIMEOUT = 10;

private string Cookie1 {
  get {
    HttpCookie cookie = Request.Cookies[COOKIE];
    if (cookie != null) {
      TimeSpan span = (cookie.Expires - DateTime.Now);
      if (span.Minutes < TIMEOUT) {
        string value = cookie.Value;
        if (!String.IsNullOrEmpty(value)) {
          string[] split = value.Split('=');
          return split[split.Length - 1];
        }
        return cookie.Value;
      }
    }
    return null;
  }
  set {
    HttpCookie cookie = new HttpCookie(COOKIE);
    cookie[COOKIE] = value;
    int minutes = String.IsNullOrEmpty(value) ? …
Run Code Online (Sandbox Code Playgroud)

c# asp.net cookies httpcookie

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

Network PC的DirectoryInfo抛出ArgumentException

我正在尝试将TreeView控件绑定到LAN上的机器ASUS-PC的公共文件夹.

华硕PC形式图片

但是,我无法弄清楚如何解析"ASUS-PC"目录,因为我无法从路径创建DirectoryInfo对象"\\\\ASUS-PC".

DirectoryInfo dir = new DirectoryInfo("\\\\ASUS-PC");
Run Code Online (Sandbox Code Playgroud)

上面的行抛出带有消息的ArgumentExceptionThe UNC path should be of the form \\server\share.

下面的代码只为root创建一个哑节点,因此我无法在该PC上显示所有公共文件夹.

如何提取路径"\\ ASUS-PC"的目录列表?

public void BindDirectoryToTreeView(string directoryPathToBind) {
  if (!String.IsNullOrEmpty(directoryPathToBind) && Directory.Exists(directoryPathToBind)) {
    treeView1.Nodes.Clear();
    TreeNode rootNode = null;
    char[] ps = treeView1.PathSeparator.ToCharArray();
    string[] split = directoryPathToBind.Split(ps);
    var folders = split.Where(str => !String.IsNullOrEmpty(str));
    for (int i = 0; i < folders.Count(); i++) {
      var folder = folders.ElementAt(i);
      int index = directoryPathToBind.IndexOf(folder);
      int length = index …
Run Code Online (Sandbox Code Playgroud)

c# directory smb

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

在托管ASP站点的URL中附加www(即没有IIS访问)

我看到很多类似的问题用胡言乱语写成,我不明白:

我想知道如何使用微软的技术做到这一点......或者只是向我解释其他人在谈论什么以及如何使用它们.

基本上,如果有人在地址栏中输入"mydomain.com",我希望它在页面加载完毕后解析为"www.mydomain.com".

编辑:这是一个托管网站,所以我无法配置IIS服务器.

html asp.net url

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

在程序MySQL 5.5.x中获取SQLEXCEPTION消息

如何在MySQL 5.5存储过程中SQLEXCEPTION出现错误文本?

我需要沿着这些方向看看出了什么问题:

DECLARE EXIT HANDLER FOR SQLEXCEPTION    
BEGIN
    GET DIAGNOSTICS CONDITION 1
    SELECT "Table @p5 (Msg State @p2): @p1"
END;
Run Code Online (Sandbox Code Playgroud)

类似于在MySQL程序中获取SQLEXCEPTION消息,但版本是5.6.4 - 因此GET DIAGNOSTICS可用.

mysql exception-handling sqlexception

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

如何从 IIS 应用程序池中删除应用程序?

我们有一台新服务器,我正在尝试为我们的网站设置它。

我在成立了工程师新的应用程序应用程序池eng_app,然后加入我们的应用到它。

现在,我们获得了这些应用程序需要打开的外部驱动器,但我似乎无法编辑或删除现有应用程序。

我尝试遵循Microsoft Technet 文章 • 删除应用程序 (IIS 7),但正如您在屏幕截图中看到的那样,这些是不正确的。

C:\Windows\System32\inetsrv>appcmd 删除应用程序“eng_app/drawing”
错误(消息:找不到标识符为“eng_app/drawing”的 APP 对象。)

C:\Windows\System32\inetsrv>appcmd delete app "/eng_app/drawing"
ERROR(消息:必须用标识符或“APP.NAME”参数指定APP对象。)

有人能告诉我我在这里错过了什么吗?

截屏

iis iis-7

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