将<string>列出到Alertcontroller

时间:2017-12-07 00:30:35

标签: mysql string xamarin.ios system

Noob问题....我是开发应用程序的新手,我希望这个问题不是太愚蠢。

我有一个TableView与我的数据库中的公司。当我滑动时,我想有3个选项。

1。在AlertController中显示有关所选公司的信息   2. 管理有关所选公司的一些信息
  3。删除所选公司

我的问题是案例1

滑动功能正常工作,并出现AlertController。但是我的数据库中的信息出现以下错误消息:
System.Collection.Generic.List'1[Systen.String]

picture

如果您需要孔代码,我可以上传它。我希望这两部分足够。

我的代码:

public partial class ListViewController : UITableViewController
{
    public ListViewController(IntPtr handle) : base(handle)
    {
    }

    List<string> words = new List<string>();
    List<string> adresse = new List<string>();

  ..... 

 public UIContextualAction ContextualFlagAction(int row)
    {
        var action = UIContextualAction.FromContextualActionStyle(UIContextualActionStyle.Normal,
                                                                  "Flag",
                                                                  (FlagAction, view, success) => {
            var alertController = UIAlertController.Create($"Information über {words[row]}", $"Straße: {adresse}", UIAlertControllerStyle.Alert);

                                                                       //kuddelmuddel beginnt


                                                                      using (MySqlConnection connection2 = new MySqlConnection("Connection String"))
                                                                      {
                                                                            string query = $"SELECT Strasse FROM Kunden WHERE Firma LIKE '{words[row]}'";
                                                                            MySqlCommand command = new MySqlCommand(query, connection2);                                                          

                                                                          connection2.Open();

                                                                            using (MySqlDataReader reader = command.ExecuteReader())
                                                                            {
                                                                            while (reader.Read())
                                                                            {
                                                                            adresse.Add(reader.GetString(0));
                                                                            }  

                                                                          }
                                                                      }


                                                                        //kuddelmuddel endet
                                                                      alertController.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Cancel, null));

                                                                     PresentViewController(alertController, true, null);

                                                                     success(true);
                                                                  });

        action.Image = UIImage.FromFile("feedback.png");
        action.BackgroundColor = UIColor.Blue;

        return action;
    }

1 个答案:

答案 0 :(得分:0)

@Jason说,错误来自于将列表视为字符串。并在db操作之后显示警报。

修改

using (MySqlConnection connection2 = new MySqlConnection("Connection String"))
{
    string query = $"SELECT Strasse FROM Kunden WHERE Firma LIKE '{words[row]}'";
    MySqlCommand command = new MySqlCommand(query, connection2);                                                          
    connection2.Open();
    using (MySqlDataReader reader = command.ExecuteReader())
    {
        while (reader.Read())
        {
           adresse.Add(reader.GetString(0));
        }  
    }
}

var alertController = UIAlertController.Create($"Information über {words[row]}", $"Straße: {adresse[0]}", UIAlertControllerStyle.Alert);
alertController.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Cancel, null));
PresentViewController(alertController, true, null);