数据库连接是正常的 执行增加记录,删除记录都是正常的 
数据库操作都已经封装到类里面了当我弹出一个opendialog选择图片,显示到pictruebox里
然后执行增加操作 把图片存入数据库里面的时候 
就会提示
'D:\My Documents\My Pictures\桌面\Data\employeeDB.accdb'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。前面那段路径明明是opendialog选择图片的路径呀真是不太明白了!希望有知道的朋友说下呀!!
感谢 !!!

解决方案 »

  1.   

    选择的图片会显示'D:\My Documents\My Pictures\桌面\Data\employeeDB.accdb'这个路径?把你的代码贴详一点来看看!
      

  2.   

    不是中文问题呀
    'E:\Programme\Data\employeeDB.accdb'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。
    不包含空格与中文还是一样的呀
      

  3.   

      
            private void linDefaultPic_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
            {
                picEmplPhoto.Image = global::HrManage.MyResource.NoPhoto;
            }        private void linChoosePic_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
            {
                OpenFileDialog openDialog = new OpenFileDialog();
                try
                {
                    openDialog.Filter = "jpg图片|*.jpg|bmp图片|*.bmp|jpeg图片|*.jpeg|gif图片|*.gif |所有文件(*.*)|*.*";
                    openDialog.FilterIndex = 1;
                    openDialog.ShowDialog();                this.picEmplPhoto.Image = Image.FromFile(openDialog.FileName);
              
                }
                catch (Exception ex)
                {
                    MessageBox.Show("发生错误!\r详细信息:\r" + ex.Message, GobalFunction.ApplicationName + "-友情提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            
      

  4.   

     private void SaveBtn_NewEmpl()
            {
                if (String.Empty.Equals(txtEmplName.Text.Trim()) || String.Empty.Equals(txtEmplDept.Text.Trim()) || String.Empty.Equals(txtEmplID.Text.Trim()))
                {
                    MessageBox.Show("必填项有空,请填入!", GobalFunction.ApplicationName + "-友情提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    Employee empl = new Employee(
                        txtEmplID.Text, txtEmplName.Text,
                        cmbEmplSex.Text, dtpEmplBirthday.Value,
                        txtEmplDept.Text, txtEmplJob.Text,
                        txtEmplTt.Text, cmbEmplDip.Text,
                        txtEmplDra.Text, txtEmplSpec.Text,
                        txtEmplOss.Text, dtpEmplgDate.Value,
                        dtpEmpljobDate.Value, dtpEmplComeDate.Value,
                        txtEmplFolk.Text, txtEmplNp.Text,
                        txtEmplPo.Text, txtEmplDid.Text,
                        cmbEmplclev.Text, cmbEmpllagLev.Text,
                        txtEmplrprAddr.Text, cmbEmplIsmar.Text,
                        txtEmplPhone.Text, txtEmplMobile.Text,
                        txtEmplEmail.Text, txtEmplFamliyAddr.Text,
                        txtEmplPostid.Text, cmbEmplType.Text,
                        GobalFunction.ImageToByteArray(picEmplPhoto.Image),
                        txtEmplRe.Text);
                    int result = 0;                if (blnUpdate)
                    {                    result = Employee.UpdateEmployee(empl);                    if (result != 0)
                        {
                            MessageBox.Show("更新个人基本信息成功!", GobalFunction.ApplicationName + "-友情提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                        else
                        {
                            MessageBox.Show("更新个人基本信息失败!", GobalFunction.ApplicationName + "-友情提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                        lblModifityTip.Visible = false;
                    }
                    else
                    {
                        result = Employee.AddEmployee(empl);                    if (result != 0)
                        {
                            MessageBox.Show("添加个人基本信息成功!", GobalFunction.ApplicationName + "-友情提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                        else
                        {
                            MessageBox.Show("添加个人基本信息失败!", GobalFunction.ApplicationName + "-友情提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                    }            }
            }
    更新与插入都是封装到类里面的
      

  5.   

       public static int UpdateEmployee(Employee empl)
            {
                String procName = "UpdateEmplbyID";            DatabaseHelper dbhelper = new DatabaseHelper();            OleDbParameter[] param = 
                {     
                    new OleDbParameter("@emp_name",empl.Emp_name),
                    new OleDbParameter("@emp_sex",empl.Emp_sex),
                    new OleDbParameter("@emp_birthday",OleDbType.Date),
                    new OleDbParameter("@emp_dpt",empl.Emp_dpt),
                    new OleDbParameter("@emp_job",empl.Emp_job),
                    new OleDbParameter("@emp_tt",empl.Emp_tt),
                    new OleDbParameter("@emp_dip",empl.Emp_dip),
                    new OleDbParameter("@emp_dra",empl.Emp_dra),
                    new OleDbParameter("@emp_spec",empl.Emp_spec),
                    new OleDbParameter("@emp_oss",empl.Emp_oss),
                    new OleDbParameter("@emp_gdate",OleDbType.Date),
                    new OleDbParameter("@emp_jobdate",OleDbType.Date),
                    new OleDbParameter("@emp_comedate",OleDbType.Date),
                    new OleDbParameter("@emp_folk",empl.Emp_folk),
                    new OleDbParameter("@emp_np",empl.Emp_np),
                    new OleDbParameter("@emp_po",empl.Emp_po),
                    new OleDbParameter("@emp_did",empl.Emp_did),
                    new OleDbParameter("@emp_c_lev",empl.Emp_c_lev),
                    new OleDbParameter("@emp_lag_lev",empl.Emp_lag_lev),
                    new OleDbParameter("@emp_rpraddr",empl.Emp_rpraddr),
                    new OleDbParameter("@emp_ismar",empl.Emp_ismar),
                    new OleDbParameter("@emp_phone",empl.Emp_phone),
                    new OleDbParameter("@emp_mobile",empl.Emp_mobile),
                    new OleDbParameter("@emp_e_mail",empl.Emp_e_mail),
                    new OleDbParameter("@emp_famliy_addr",empl.Emp_famliy_addr),
                    new OleDbParameter("@emp_post_id",empl.Emp_post_id),
                    new OleDbParameter("@emp_Type",empl.Emp_Type),
                    new OleDbParameter("@emp_photo",empl.Emp_photo),
                    new OleDbParameter("@emp_re",empl.Emp_re),
                    new OleDbParameter("@emp_id",empl.Emp_id)
                                         };            param[2].Value = empl.Emp_birthday;
                param[10].Value = empl.Emp_gdate;
                param[11].Value = empl.Emp_jobdate;
                param[12].Value = empl.Emp_comedate;            dbhelper.AddParameter(param);            int result = dbhelper.ExecuteNonQuery(procName, CommandType.StoredProcedure);            dbhelper.Dispose();
                return result;
            }
      

  6.   

    我不知道怎么改到数据库连接的路径呀 我是在类里面读取的app.config
    数据库路径是写在那里面的呀
      

  7.   

    app.config
    ======
      <connectionStrings>
        <add name="connectionstring" providerName="System.Data.OleDb" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Data\employeeDB.accdb;Persist Security Info=False;"/>
      </connectionStrings>
    =========================好像是相对路径的问题
    我写在程序里面 在路径前加有application.startup后就没有问题了 
    这个问题要怎么解决呀
    我不想把数据库连接硬编码呀!!
      

  8.   

    应该是数据库的文件路径与图像文件的路径搞混了,我的方法是传送一个IMAGE数据到库
      

  9.   

    我根本没有引用图像文件的路径呀 
    我存入数据库的是引用的pictruebox.image
    用函数返回一个byte数组呀!!!