2013-01-20 92 views
0

完整的错误是这样的:WPF ObjectDataProvider的错误“的路径无效”

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

我在做以下操作。创建本地数据库。通过绑定连接到DataGrid我使用ObjectDataProvider能够根据this教程在设计器中编辑数据。我在Project树的顶层创建了一个名为“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> 

然后在控制后,我将数据注入到数据网格:

<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,我不明白为什么程序试图访问这个路径。

+0

什么是堆栈跟踪? – SLaks

+0

StackTrace?该应用程序不会引发错误,因此我无法在堆栈跟踪中看到任何内容。 –

+0

那么这是什么错误? – SLaks

回答

0

最后我通过重置数据库连接来解决它。