【发布时间】:2021-10-15 10:27:06
【问题描述】:
我正在使用带有 Xamarin/C# 应用程序的 Android 平板电脑。使用这款平板电脑,我正在尝试访问驻留在我的 Windows 10 机器上的 SQLite 数据库。我选择使用 USB/Android 与 Android 模拟器,该应用程序仍驻留在 Windows 10 机器上。这似乎无关紧要,但我也尝试过映射驱动器、共享文件夹和创建网络连接。 Project References
这是代码:
using Microsoft.Data.Sqlite;
using System;
using System.Windows.Input;
using Xamarin.Essentials;
using Xamarin.Forms;
命名空间 CicoAndroid { 公共部分类 MainPage : ContentPage { public ICommand TapCommand => new Command(async (url) => await Launcher.OpenAsync(url)); 私有只读字符串 db1 = @"数据源=\LAPTOP-FJUIC9RR\db\db.sqlite"; 公共主页() { 初始化组件(); }
private void LoginClicked(object sender, EventArgs e)
{
int rows;
try
{
Console.WriteLine("DB1: " + db1);
SqliteConnection conn = new SqliteConnection(db1);
conn.Open(); ***This is the line that is throwing the exception.***
using (SqliteCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "SELECT COUNT(*) FROM [tblUsers] WHERE USERNAME = 'someUser'";
rows = (int)cmd.ExecuteScalar();
Console.WriteLine("ROWS: " + rows);
cmd.Dispose();
}
conn.Dispose();
}
catch (Exception ex)
{
lblAuth.Text = "FUL: a.c.us" + Environment.NewLine + ex.ToString();
return;
}
我对 Xamarin 和 C# 非常陌生,我已经尝试了数十种代码和 NuGet SQLite 包的变体。任何帮助将不胜感激。
谢谢
【问题讨论】:
-
所以您的应用只有在与包含数据库的桌面位于同一本地网络时才能使用?
标签: android windows sqlite xamarin