【问题标题】:The file 'C:\....\.....\.....\bin\debug\128849991926295643' already exists文件 'C:\....\.....\.....\bin\debug\128849991926295643' 已经存在
【发布时间】:2010-10-21 11:51:30
【问题描述】:

我正在使用 Visual C#2008 Express Edition 和 Express SQL 数据库。每次我构建我的解决方案时,都会收到类似上述错误。显然文件名发生了变化。每次我遇到调试点时也会创建一个新文件。

我有一个存储过程,它从数据库表中获取每一行,每次主窗体初始化时都会获取这些行并将它们添加到泛型列表中。如果不从表中插入或删除,每次我启动 Windows 应用程序时它都会获得不同数量的行。该错误与奇怪的数据检索问题同时开始发生。关于什么会导致这种情况的任何想法?

谢谢

何塞,

当然,这是我的 c# 方法,它检索表中的每一行,每一行都有一个 int 和一个 Image ....

    private List<ImageNumber> GetListOfKnownImagesAndNumbers()
    {
        //ImageNumber imNum = new ImageNumber();

        SqlCommand sqlCommand = new SqlCommand();
        sqlCommand.Connection = _conn;

        try
        {
            MemoryStream ms = new MemoryStream();

            sqlCommand.CommandText = "usp_GetKnownImagesAndValues";

            _conn.Open();
            using (IDataReader dr = sqlCommand.ExecuteReader())
            {
                while (dr.Read())
                {
                    ImageNumber imNum = new ImageNumber();
                    imNum.Value = dr.IsDBNull(dr.GetOrdinal("ImageValue")) ? 0 : Convert.ToInt32(dr["ImageValue"]);

                    //Turn the bitmap into a byte array
                    byte[] barrImg = (byte[])dr["ImageCaptured"];
                    string strfn = Convert.ToString(DateTime.Now.ToFileTime());
                    FileStream fs = new FileStream(strfn,
                                      FileMode.CreateNew, FileAccess.Write);
                    fs.Write(barrImg, 0, barrImg.Length);
                    fs.Flush();
                    fs.Close();
                    imNum.Image = (Bitmap)Image.FromFile(strfn);

                    _listOfNumbers.Add(imNum);
                }
                dr.Close();
                _conn.Close();
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
        finally
        {
            _conn.Close();
        }

        return _listOfNumbers;

    }

这是我的存储过程....

更改程序 dbo.usp_GetKnownImagesAndValues 作为 开始

select  ImageCaptured, ImageValue
from CapturedImages

结束

【问题讨论】:

  • 请给我们一些代码
  • 何塞,我已将代码粘贴到问题中......
  • 如果你先清理然后再构建它是否正确构建?
  • 不,但如果我在最后一行放一个调试点,它会起作用 return _listOfNumbers;并在添加行的行上 _listOfNumbers.Add(imNum);否则,如果我只在返回线上放置一个调试点,即使表中的数据相同,我也会得到更少的结果。根据我是否使用断点,它的行为会有所不同,这一事实让我感到困惑。我以前很少使用 Express,我通常使用完整版,但这似乎很奇怪。

标签: database numbers rows


【解决方案1】:

感谢您查看此内容。最后的答案是将 Thread.Sleep 放在 while 循环中,它开始完美地工作。我可能还有其他事情可以做,我显然在等待完成某些事情,这就是为什么在这里允许更多时间有所帮助的原因。如果我知道需要完成什么以及如何检测它何时完成,那么我可以检查它,而不是简单地等待一小段时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-21
    • 2014-12-24
    • 2018-04-25
    • 2017-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多