我使用下面的代码来搜索SQLite表。它适用于Android 9。但我在Android 10中收到以下错误。我应该在哪里检查,或者我如何对代码进行最小的更改,以便它也能在Android 10上运行。
编辑1:我使用的是以下版本。
Xamarin.Forms v4.5.0.495
Xamarin.Essentials v1.3.1
sqlite-net-pcl v1.7.335
代码:
public SearchPage()
{
InitializeComponent();
conn = DependencyService.Get<ISQLiteMyConnection>().GetConnection();
try
{
DisplayLines("");
}
catch (Exception ex)
{
DisplayAlert("Error", ex.Message, "Ok");
}
}
public void DisplayLines(string searchText)
{
if (String.IsNullOrWhiteSpace(searchText))
{
var details = (from x in conn.Table<QLines>() select x).ToList();
myLines.ItemsSource = details;
searchCount.Text = "";
}
else
{
var details1 = (from x in conn.Table<QLines>() where x.PartA.Contains(searchText) || x.PartB.Contains(searchText) select x).ToList();
myLines.ItemsSource = details1;
searchCount.Text = "Matches found : " + details1.Count.ToString();
}
}
private void SearchBar_TextChanged(object sender, TextChangedEventArgs e)
{
DisplayLines(e.NewTextValue);
}
错误:
Don't know how to read System.Char
我遇到了这个问题。
不赞成使用nuget包SQLite.Net.Core-PCL
。这个包处理SQLite数据库上类似LINQ的查询。建议的替代方案是sqlite-net-pcl
。可能是,我需要修改代码。
编辑:我已将Xamarin表单更新到第5版。并修改了代码(我使用查询而不是LINQ(