我写了一个小程序,部分代码如下所示:            //选择文件上传
            FileDialog upfile = new OpenFileDialog();
            upfile.ShowDialog();
            string filename = upfile.FileName;
            string a = Application.StartupPath;            string uriString = a + "\\uploadfiles\\";
            string uriString2 = a.Substring(0, a.LastIndexOf("\\")) + "\\Release\\uploadfiles\\";
            //string newName = UpLoadFile(filename, uriString, true);             //向deburg中添加
            string newName = UpLoadFile(filename, uriString2, true);           //向Rlease中添加
            //向数据库中插入一条记录
            custDoc.TextTitle = filename.Substring(filename.LastIndexOf("\\")+1);
            custDoc.TextContent = newName;
                        int result = CustDocManager.Add(custDoc);           //执行到这里出错了            我选择了“D:\My Documents\QQ Files\Misc\”目录下的一个记事本文件         当执行添加的时候,在数据库连接那里出了一个这样的错:
                   找不到文件 'D:\My Documents\QQ Files\Misc\KingCRM.mdb'。         请问哪位能给我个思路,谢谢了!

解决方案 »

  1.   

    CustDocManager里面肯定有一个地方是使用了“'D:\My Documents\QQ Files\Misc\KingCRM.mdb”数据库,你确认有这个文件在该目录下存在,如果没有,找到修改连接字符串地方,修改一下连接字符串,指向正确的数据库文件所在位置。
      

  2.   


    谢谢两位!
    我也是这么想的,可是现在的问题是:CustDocManager中没有用“'D:\My Documents\QQ Files\Misc\KingCRM.mdb”。而且这个路径下根本就不存在这个数据库,这个路径只是我选的要上传的文件的路径。整个应用程序都没错,就是上传文件之后,向数据库中添加记录的时候有错,其它使用数据库的地方都没出错。
      

  3.   

    string a = Application.StartupPath;
    也许跟这个有关系
      

  4.   

    上面都说了,KingCRM.mdb不存在或者路径错误
      

  5.   

    CustDocManager.Add(custDoc); //执行到这里出错了add方法贴出来。
      

  6.   

     /// <summary>
            /// 增加一条数据
            /// </summary>
            public static int Add(CustDoc model)
            {
                int result = -1;
                StringBuilder strSql = new StringBuilder();
                try
                {
                    strSql.Append("insert into dt_Doc(");
                    strSql.Append("TextTitle,TextContent,custID)");
                    strSql.Append(" values (");
                    strSql.Append("@TextTitle,@TextContent,@custID)");
                    OleDbParameter[] parameters = {

                        new OleDbParameter("@TextTitle", OleDbType.VarChar,255),
    new OleDbParameter("@TextContent", OleDbType.VarChar,500),
    new OleDbParameter("@custID", OleDbType.Integer,4)};                parameters[0].Value = model.TextTitle;
                    parameters[1].Value = model.TextContent;
                    parameters[2].Value = model.CustID.custID;                result = AccessHelper.ExecuteCommand(strSql.ToString(), parameters);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);            }
                finally
                {
                    AccessHelper.Connection.Close();
                }
                return result;
            }
    //数据库链接
         //数据库连接对象
            private static OleDbConnection connection;        public static OleDbConnection Connection
            {
                get
                {
                    string conString = ConfigurationManager.ConnectionStrings["connString"].ConnectionString;
                    if (connection == null)
                    {
                        connection = new OleDbConnection(conString);
                        connection.Open();
                    }
                    else if (connection.State == System.Data.ConnectionState.Closed)
                    {
                        connection.Open();
                    }
                    else if (connection.State == System.Data.ConnectionState.Broken)
                    {
                        connection.Close();
                        connection.Open();
                    }
                    return connection;
                }
            }
      

  7.   

    谢谢各位,问题解决了,是数据流的问题,只要修改一下配置文件就可以了
    把Data Source=ab.mdb;改成Data Source=|DataDirectory|ab.mdb;就可以了