The*_*ber 7 c# sqlite android xamarin.android xamarin
最近我开始使用Xamarin创建Android应用程序.我尝试用SQLite创建一个小型本地数据库.我使用了Xamarin文档网站上的以下教程.
不幸的是我收到一个错误:
错误CS0019:运算符'!='不能应用于'Task'和'int'类型的操作数(CS0019)
我的代码如下:
private string createDatabase(string path)
{
try
{
var connection = new SQLiteAsyncConnection(path);{
connection.CreateTableAsync<Person>();
return "Database created";
}
}
catch (SQLiteException ex)
{
return ex.Message;
}
}
private string insertUpdateData(Person data, string path)
{
try
{
var db = new SQLiteAsyncConnection(path);
if ( db.InsertAsync(data) != 0)
db.UpdateAsync(data);
return "Single data file inserted or updated";
}
catch (SQLiteException ex)
{
return ex.Message;
}
}
private int findNumberRecords(string path)
{
try
{
var db = new SQLiteConnection(path);
// this counts all records in the database, it can be slow depending on the size of the database
var count = db.ExecuteScalar<int>("SELECT Count(*) FROM Person");
// for a non-parameterless query
// var count = db.ExecuteScalar<int>("SELECT Count(*) FROM Person WHERE FirstName="Amy");
return count;
}
catch (SQLiteException ex)
{
return -1;
}
}
Run Code Online (Sandbox Code Playgroud)
Person类如下:
using System;
using SQLite;
namespace HelloWorld {
public class Person
{
[PrimaryKey, AutoIncrement]
public int ID { get; set; }
public string FullName { get; set; }
public string CarLicense { get; set; }
public override string ToString()
{
return string.Format("[Person: ID={0}, FullName={1}, CarLicense={2}]", ID, FullName, CarLicense);
}
}
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我解决这个错误吗?
你可以这样做:
if ( (await db.InsertAsync(data)) != 0)
Run Code Online (Sandbox Code Playgroud)
另请参阅此答案,了解为什么await通常优先使用.Result.
| 归档时间: |
|
| 查看次数: |
3670 次 |
| 最近记录: |