编了一个winform向Access数据库添加文件名和对应的文件路径的东西,但是为什么字段属性都是设置为“文本”,如果路径是一级或是二级目录的话,添加是成功的,但是级数一多,比如到了六七级的时候就会出错,请问这是什么问题?是数据库的字段限制,还是winform里面用于添加的textBox的字段限制?如果是数据库的问题,怎么解决?如果是textBox的问题又怎么解决呢?,谢谢大家解答!

解决方案 »

  1.   

    实在搞不懂,老说我这句错误thisAdapter.Update(thisDataSet,"fileCopy");
      

  2.   

    你有没有建立DataAdapter的InsertCommand, UpdateCommand, DeleteCommand?没有的话就会报错哦!如果你更新的是一个表,而不是多个表的联合查询,可以使用OldDbCommandBuilder自动创建InsertCommand, UpdateCommand, DeleteCommand。
      

  3.   

    DataRow thisRow=thisDataSet.Tables[0].NewRow();
    thisRow["fileName"]=textBoxFileName.Text;
    thisRow["Path"]=textBoxFilePath.Text; DataColumn[] keys=new DataColumn[1];
    keys[0]=thisDataSet.Tables[0].Columns["fileName"];
    thisDataSet.Tables[0].PrimaryKey=keys; DataRow findRow=thisDataSet.Tables[0].Rows.Find(textBoxFileName.Text); if(findRow!=null)
    {
    MessageBox.Show("该文件已存在,请更改文件名!","系统提示");
    }
    else
    {
    thisDataSet.Tables[0].Rows.Add(thisRow);
    OleDbCommandBuilder thisBuilder=new OleDbCommandBuilder(thisAdapter);
    thisAdapter.Update(thisDataSet,"fileCopy"); int rowCount=thisDataSet.Tables[0].Rows.Count-1;
    txtDbFileName.Text=thisDataSet.Tables[0].Rows[rowCount][0].ToString();
                 txtDbFilePath.Text=thisDataSet.Tables[0].Rows[rowCount][1].ToString();
             }另外说明一下我的设计的大体思路,通过winform去管理一个ACCESS数据库,然后客户端软件通过webservice去访问这个数据库的内容,对文件进行操作,数据库里面存放的是文件名和路径,webservice里面是访问数据库的方法。当两个对象同时对数据库做操作的时候就会发生错误,请问这是不是两个进程不能同时访问文件的原因?请问怎么解决?而且一旦winform那边出现一次错误以后,就算winform下次访问数据库时webservice并没有访问数据库,winform也会报错,请问这个怎么解决呢?
      

  4.   

    每当winform报错后,我把wwwroot下的那个webservice文件夹移掉,winform就又能访问数据库了,这是不是说明两个程序不能同时访问啊?改怎么解决呢?