我想为Hospitality POS开发一个Android应用程序。我正在使用xamarin和sqlite数据库。我已经以编程方式创建了一个表。
我的问题是:如何在不进行编码的情况下创建表:就像有没有办法创建表而不进行编码,就像我们在没有编码的情况下手动在SQL Server中创建一样。
我使用SQLite Studio创建了数据库和表,但我无法在我的应用程序中查看这些表。
答案 0 :(得分:1)
如果你正在使用xamarin而你想要一个可移植的数据库,请查看https://developer.xamarin.com/guides/xamarin-forms/working-with/databases/,你必须在每个项目.Droid .IOS .Windows中添加一个类,以便根据平台正确获取每个dbPath。 / p>
要查看你的表,你必须创建一个代表那些表的类,以便从db中获取信息到链接中的aplication,我放弃了它所有的指定。
此外,在SQLite中调用SQLiteConnection.createDatabase();您在创建连接时指定的dataBase文件中创建表,如果不存在,如果存在且没有错误,您只是确认您已与数据库连接。希望我能帮忙。
答案 1 :(得分:0)
对于Android应用程序,如果你没有经验,但想要实现localdb,我建议使用ORM。 Sugar ORM使用起来非常简单,而且非常好。关于如何使用它的例子很容易理解。
希望它有所帮助。答案 2 :(得分:0)
您可以使用sqlitebrowser创建表格,然后将您的sqlite文件添加到Android项目的资产文件夹中。
我认为你需要将其复制出来打开数据库并对其进行编辑,如下所示:
static void CopyDatabaseIfNotExists (string dbName = "YOURDATABASENAME.sqlite")
{
var dbPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), dbName);
if (!File.Exists(dbPath))
{
using (var br = new BinaryReader (Application.Context.Assets.Open (dbName)))
{
using (var bw = new BinaryWriter (new FileStream (dbPath, FileMode.Create)))
{
byte [] buffer = new byte [2048];
int length = 0;
while ((length = br.Read (buffer, 0, buffer.Length)) > 0)
{
bw.Write (buffer, 0, length);
}
}
}
}
}