0

完整的错误如下:

路径无效。检查数据库的目录。[ 路径 = C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Externals

我正在执行以下操作。创建本地数据库。要通过绑定到 DataGrid 将其连接,我使用 ObjectDataProvider 能够根据教程在设计器中编辑数据。我在顶层创建了一个名为“Externals”的文件夹项目树。那里驻留 database.sdf 和 dataSet.xsd 文件。现在,我有一个 UserControl,我在其中执行此操作:

<UserControl xmlns:local="clr-namespace:TypeAppRelease.Sasmaster.Data"
         x:Class="TypeAppRelease.controls.AdminPageControl"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 

         mc:Ignorable="d" 
         d:DesignHeight="700" d:DesignWidth="900" >


    <UserControl.Resources>

    <ObjectDataProvider x:Key="AlphaBetProvider"  ObjectType="{x:Type local:AlphaBetDataProvider}" />
    <ObjectDataProvider x:Key="AlphaBet" ObjectInstance="{StaticResource AlphaBetProvider}" MethodName="GetAlphaBet" />
    </UserControl.Resources>

然后稍后在控件中,我将数据注入 DataGrid:

 <Grid Background="#FFE5E5E5" HorizontalAlignment="Stretch" 
                  VerticalAlignment="Stretch" Height="111"  DataContext="{Binding Source={StaticResource AlphaBet}}">

                <DataGrid Name="grdEmployee" ItemsSource="{Binding}"/>

  </Grid>

最后我有自定义适配器类:

namespace TypeAppRelease.Sasmaster.Data
{
    class AlphaBetDataProvider
    {
     AlphaBetErrorTableTableAdapter adapter;
    _MyDatabase_1DataSet dataset;
    public AlphaBetDataProvider()
    {
        adapter = new AlphaBetErrorTableTableAdapter();
        dataset = new _MyDatabase_1DataSet();
        adapter.Fill(dataset.AlphaBetErrorTable);

    }
    public DataView GetAlphaBet()
    {
        return dataset.AlphaBetErrorTable.DefaultView;
    }
  }
}

不知何故,在收到此行的错误时:

     <ObjectDataProvider x:Key="AlphaBetProvider"  ObjectType="{x:Type local:AlphaBetDataProvider}" />

该项目编译并运行,显示 datagrid 中的数据,但我无法像教程中所做的那样编辑 DatGrid,我不明白为什么程序试图访问该路径。

4

1 回答 1

0

最后我通过重置数据库连接解决了这个问题。

于 2013-01-21T09:13:07.373 回答