小编Bri*_*ian的帖子

检查文件是否可以在共享网络驱动器上访问

我有一个程序可以执行不同的操作,我的问题与网络映射驱动器或共享文件夹中的访问文件有关

程序可以从网络运行文件msi/exe(网络映射驱动器或共享文件夹)程序可以从网络复制文件(网络映射驱动器或共享文件夹)

在尝试运行或复制之前,如何检查文件是否可访问(如果网络断开连接或任何其他网络问题)?

是不够的 File.Exists();

这是我的代码示例:

public static bool FileIsOk(string path)
{
   try
   {
      FileInfo finfo = new FileInfo(path);

      if (finfo.Exists)
      {
         return true;
      }
      MessageBox.Show("file does not exist, or there is a problem with the network preventing access to the file!");
      return false;
   }

   catch (Exception e)
   {
      MessageBox.Show(e.Message);
   }
   return false;
}
Run Code Online (Sandbox Code Playgroud)

谢谢

c# file-io networking file

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

验证所需的两个字段之一

我有两个字段:

并且只需要其中之一。但如果两者都被省略,我希望两个字段都突出显示。如果填写其中之一,则模型没问题,表格应该提交。

如何才能做到这一点?

c# model-view-controller asp.net-mvc

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

这些参数有什么问题?

我有一个包含7个字段的Access文件:

DocID - text - primary
SourceID - text
ReceivedDay - Date/Time
Summary - text
DueDay - Date/Time
Person - text
Status - Yes/No
Run Code Online (Sandbox Code Playgroud)

现在我想用以下代码更新此文件:

const string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\DocMan.mdb;Persist Security Info=True";
const string InsertQuery = "INSERT Into Docs(DocID,ReceivedDay,Summary,Person,DueDay,Status,SourceID) Values(@DocID,@ReceivedDay,@Summary,@Person,@DueDay,@Status,@SourceID)";

string DocID = textBox1.Text;
string SourceID = comboBox1.SelectedIndex.ToString();
DateTime ReceivedDay = dateTimePicker1.Value;
string Summary = richTextBox1.Text;
string Person = textBox2.Text;
DateTime DueDay = dateTimePicker2.Value;
bool Status = false;

OleDbConnection cnn = new OleDbConnection(ConnectionString);
cnn.Open();
OleDbCommand cmd = new OleDbCommand(InsertQuery, …
Run Code Online (Sandbox Code Playgroud)

c# oledb ms-access

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

简单的按钮动画

我正在努力学习.NET编程.作为我学习的一部分,我试图对按钮产生一些影响.它工作......但不像我想象的那么顺利!有没有更好的方法来做到这一点?先感谢您!

我的需要:

有3个按钮.当您将鼠标悬停在其中一个上时,它会展开,当您从该按钮鼠标移出时,它会返回到其初始大小.

private void button1_MouseHover(object sender, EventArgs e)
    {
        button1.BackColor = Color.White;
        button1.Width = 130;
        button1.BringToFront();            
    }

    private void button1_MouseLeave(object sender, EventArgs e)
    {
        button1.BackColor = Color.Red;
        button1.Width = 75;         
    }

    private void button2_MouseHover(object sender, EventArgs e)
    {
        button2.BackColor = Color.Gray;
        button2.Width = 130;
        button2.BringToFront();            
    }

    private void Form1_MouseLeave(object sender, EventArgs e)
    {
        button2.BackColor = Color.Red;
        button2.Width = 75;

    }

    private void button3_MouseHover(object sender, EventArgs e)
    {
        button3.BackColor = Color.DimGray;
        button3.Width = 130;
        button3.BringToFront();
    }

    private void …
Run Code Online (Sandbox Code Playgroud)

.net c# animation button

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

C#数据适配器参数

我写了一些代码来从我的数据库中获取一些数据.在stored procedure只使用ID作为参数,并使用它来筛选结果.我已经运行了stored procedure使用EXEC命令SSMS,它的工作原理.但是,当我尝试使用底部的代码调用它时,它失败了,说我没有提供参数.谁能看到我做错了什么?

using (SqlConnection sqlConnect = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
{       
    try
    {
        DataTable dtBets = new DataTable("All Bets");
        using (SqlDataAdapter sqlDA = new SqlDataAdapter("up_Select_all", sqlConnect))
        {
            sqlDA.SelectCommand.Parameters.Add("@ID", SqlDbType.BigInt).Value = pCustomer.CustomerID;

            sqlDA.Fill(dtBets);
            return dtBets;
        }                        
    }

    catch (SqlException ex)
    {
        //catch code
    }
Run Code Online (Sandbox Code Playgroud)

c# sql

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

使用LINQ遍历对象树

一个国家有一份州名单.州有一个城市列表.找到拥有邮政编码11201的城市的州.

我该怎么做呢?

当我做

Country.States.SelectMany(
                           s => s.Cities.Where(c => c.Zip ==11201)
                         )
                          .Select(s => s);
Run Code Online (Sandbox Code Playgroud)

我得到的是城市而不是国家.

c# linq

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

仅在有效登录时访问页面

当用户输入正确的用户名和密码时,他/她将被显示该MyNewPage.aspx页面.这部分工作正常.但是,当我http://localhost:49296/Pages/MyNewPage直接在浏览器窗口中输入而无需登录时,我仍然可以访问此页面.我想要做的是限制用户无需登录即可访问此页面.

我怎样才能做到这一点?

        [HttpPost]
        public ActionResult LogOn(LogOnModel model, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                if (Membership.ValidateUser(model.UserName, model.Password))
                {
                    FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
                    if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/")
                        && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
                    {
                        return Redirect(returnUrl);
                    }
                    else
                    {
                        return RedirectToAction("MyNewPage", "Pages");

                    }
                }                
            }    
            return View(model);
        }
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc-3

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

按周分割数据

我有一个带有时间戳的数据对象:

class MyDataObject
{
    public DateTime timestamp { get; set; }
    public int value { get; set; }

    public MyDataObject(DateTime timestamp, int value)
    {
        this.timestamp = timestamp;
        this.value = value;
    }
}
Run Code Online (Sandbox Code Playgroud)

在main方法中,我在18天(2.5周)的时间跨度内创建了大量这些数据对象:

    static void Main(string[] args)
    {
        List<MyDataObject> data = new List<MyDataObject>();

        data.Add(new MyDataObject(DateTime.Now, 1));
        data.Add(new MyDataObject(DateTime.Now.AddDays(2), 1));
        data.Add(new MyDataObject(DateTime.Now.AddDays(4), 1));
        data.Add(new MyDataObject(DateTime.Now.AddDays(6), 1));
        data.Add(new MyDataObject(DateTime.Now.AddDays(8), 1));
        data.Add(new MyDataObject(DateTime.Now.AddDays(10), 1));
        data.Add(new MyDataObject(DateTime.Now.AddDays(12), 1));
        data.Add(new MyDataObject(DateTime.Now.AddDays(14), 1));
        data.Add(new MyDataObject(DateTime.Now.AddDays(18), 1));
    }
Run Code Online (Sandbox Code Playgroud)

我需要将这些数据除以数周,以便第1天到第6天之间的数据需要放在一个数组中,第8天到第14天之间的数据放在另一个数据中,第18天的数据需要放在另一个数组中.

我需要创建一个某种类型的2D列表,并以某种方式将数据划分为"数组数组",但我很难过.我怀疑我需要使用List.FindAll,但我以前从未使用它,也不知道在这种情况下如何使用它.

.net c#

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

显示与另一个表sql server不匹配的空值

我有两个表"表A"和"表B"

表A是与其他表连接的结果.表B是一个单独的表,表A中有1个字段.

表A:

Year   Name  Value
2011   A     Item1
2010   B      1
2011   C     Item2
Run Code Online (Sandbox Code Playgroud)

表B:

id   Value
1    Item1
2    Item2
3    Item3
4    Item4
Run Code Online (Sandbox Code Playgroud)

我希望结果如下:

Year   Name  Value
2011   A     Item1
2010   B      NULL
2011   C     Item2
Run Code Online (Sandbox Code Playgroud)

我的努力是:

SELECT d.Portfolio,
       d.Name,
       d.AccountName,
       d.CashGAAP,
       d.OriginalDate,
       d.Amount,
       d.AccountNumber,
       d.AttributeSetName,
       d.TheDate,
       d.Year,
       d.Value
FROM (SELECT Portfolio.LegalEntityName AS Portfolio,
             Forecast.Name,
             CoA.AccountName,
             Forecast_Data.CashGAAP,
             CONVERT(DATE, Forecast_Data.TheDate) AS OriginalDate,
             SUM(Forecast_Data.Amount) AS Amount,
             CoA.AccountNumber ,
             Attribute_Set.AttributeSetName,
             '' + CONVERT(VARCHAR, YEAR(Forecast_Data.TheDate)) + '-'
             + CONVERT(VARCHAR, MONTH(Forecast_Data.TheDate)) + …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sql-server-2008

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

将Linq结果集转换为接口

我有以下查询:

var result = context.BEntries
    .Where(x => x.a == "a")
    .Select(x => new MyClass()
    {
        a = x.a
    }).ToList();
Run Code Online (Sandbox Code Playgroud)

我得到了类型的结果List<MyClass>.但是,我必须回来IEnumerable<IMyclass>.如何将其转换为通用定义?

c# linq

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