C# 为什么我不能将项目添加到数据库?
我使用SQLite net创建了一个数据库,然后以以下方式在其中插入一个对象:C# 为什么我不能将项目添加到数据库?,c#,xaml,windows-phone-8.1,sqlite-net,C#,Xaml,Windows Phone 8.1,Sqlite Net,我使用SQLite net创建了一个数据库,然后以以下方式在其中插入一个对象: SQLiteAsyncConnection conn = new SQLiteAsyncConnection(Path.Combine(ApplicationData.Current.LocalFolder.Path, "Database.db"), true); await conn.CreateTableAsync<Musei>(); Musei musPref;
SQLiteAsyncConnection conn = new SQLiteAsyncConnection(Path.Combine(ApplicationData.Current.LocalFolder.Path, "Database.db"), true);
await conn.CreateTableAsync<Musei>();
Musei musPref;
musPref = new Musei
{
DidascaliaLista=muss.DidascaliaLista,
NomeMuseo = muss.NomeMuseo,
Luogopreciso = muss.Luogopreciso,
Descrizione = muss.Descrizione,
NumeroTel = muss.NumeroTel,
IndirizzoEmail = muss.IndirizzoEmail,
Immagine= muss.Immagine,
};
await conn.InsertAsync(musPref);
在新页面中,我希望检索数据库中ListView元素中显示的数据库
这是代码c:
SQLiteAsyncConnection conn = new SQLiteAsyncConnection(Path.Combine(ApplicationData.Current.LocalFolder.Path, "Database.db"), true);
await conn.CreateTableAsync<Musei>();
var Dbase = Path.Combine(ApplicationData.Current.LocalFolder.Path, "Database.db");
var con = new SQLiteAsyncConnection(Dbase, true);
var query = await con.Table<Musei>().ToListAsync();
ListaPreferiti.Source = query;
这是代码XAML:
<Page.Resource>
<CollectionViewSource x:Name="ListaPreferiti" IsSourceGrouped="True"/>
</Page.Resource>
.....
<ListView x:Name="ListPreferiti" ItemsSource="{Binding Source={StaticResource ListaPreferiti}}" IsItemClickEnabled="True" ItemClick="ListPreferiti_ItemClick" Margin="0,-1,0.667,-0.333">
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="15"/>
<ColumnDefinition Width="5"/>
<ColumnDefinition Width="30"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="10"/>
</Grid.RowDefinitions>
<Image x:Name="Cerchio" Grid.Column="0" Grid.Row="0" Source="Assets/120.png" Width="15" Height="15" VerticalAlignment="Top" Margin="0,13,0,0"/>
<TextBlock Grid.Column="3" Grid.Row="0" Text="{Binding NomeMuseo}" TextWrapping="Wrap" FontSize="24" FontWeight="Bold"/>
<TextBlock Grid.Column="3" Grid.Row="2" Text="{Binding Descrizione}" TextWrapping="Wrap" FontSize="18"/>
<Image Grid.Column="2" Grid.Row="0" Source="Assets/NoImage.png"/>
<TextBlock Grid.Column="3" Grid.Row="1" FontSize="18" Text="{Binding Luogopreciso}"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
<ListView.GroupStyle>
<GroupStyle HidesIfEmpty="True">
<GroupStyle.HeaderTemplate>
<DataTemplate>
<Grid Background="Chocolate">
<TextBlock Text="{Binding Key}" Foreground="Beige"
Style="{StaticResource HeaderTextBlockStyle}"/>
</Grid>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListView.GroupStyle>
</ListView>
</PivotItem>
</Pivot>
</Grid>
</PivotItem>
</Pivot>
我不明白为什么ListView是空的。只要尝试启动应用程序,调试Visual Studio的输出就会显示以下消息:
错误:BindingExpression路径错误:在“App1.Musei,App1,Version=1.0.0,Culture=neutral,PublicKeyToken=null”上找不到“Key”属性。BindingExpression:Path='Key'DataItem='App1.Musei,App1,Version=1.0.0,Culture=neutral,PublicKeyToken=null';目标元素是“Windows.UI.Xaml.Controls.TextBlock”Name='null';目标属性是“Text”类型的“String”您的表中没有名为Key的字段,因此它告诉您它无法绑定到它,因为它找不到Key属性。你想用那个文本块做什么?我错了,我改成了:``现在我不再犯那个错误了,但我总是看到空列表。请显示你的可观察属性。