c# - 如何从 Sql Column 读取到 Spinner?

标签 c# android sql xamarin xamarin.android

我想读取一个 sql 列并填充一个 Spinner。我正在使用这段代码:

 var spinner1 = FindViewById<Spinner>(Resource.Id.planets_spinner);
 var adapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleSpinnerItem);
 spinner1.Adapter = adapter;

 SqlConnection con = new SqlConnection(@"Data Source=192.168.1.101;Initial Catalog=RK1;user id=admin;password=1234");
 con.Open();

  SqlCommand sqlCmd = new SqlCommand("SELECT * FROM InventoryMainGroupItems where TaxOmada=0", con);

  SqlDataReader sqlReader = sqlCmd.ExecuteReader();
  while (sqlReader.Read())
  {
  adapter.Add("MainGroupItemName");

  }
  sqlReader.Close();

enter image description here

最佳答案

您需要使用 SpinnerAdapter并将其分配给您的 Spinner

即使用 ArrayAdapter :

var adapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleSpinnerItem);
adapter.Add("First");
adapter.Add("Second");
var spinner1 = FindViewById<Spinner>(Resource.Id.planets_spinner);
spinner1.Adapter = adapter;

SQL.Net 示例:

string dbPath = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "myAppData.db3");
var db = new SQLiteConnection(dbPath);
db.CreateTable<Category>();

if (db.Table<Category>().Count() == 0)
{
    db.Insert(new Category()
    {
        Description = "First"
    });
    db.Insert(new Category()
    {
        Description = "Second"
    });
}

var categories = db.Table<Category>();
var adapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleSpinnerItem);
foreach (var category in categories)
{
    adapter.Add(category.Description);
}
var spinner1 = FindViewById<Spinner>(Resource.Id.planets_spinner);
spinner1.Adapter = adapter;

关于c# - 如何从 Sql Column 读取到 Spinner?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38409767/

相关文章:

sql - 某些列中的结果为空

c# - 已发布的 .Net Core 应用警告要安装 .Net Core,但它已经安装

c# - 有人得到了 C# MVC 的出生日期验证属性吗?

java - Android Studio 中基本音乐播放器中的音频问题

java - 设置 Android 项目的标题

c# - Entity Framework 5,Code First 具有额外属性的多对多外键映射

mysql - 来自同一张表的两个不同数据

c# - 所有应用程序版本的一个 user.conf 文件

c# - GridView 单元格未在 RowCommand 事件上注册任何控件

android - 将相机或图库中的图像上传到 FirebaseStorage