UWP,MySQL,填充ListView,实现CRUD操作

时间:2016-04-13 19:26:00

标签: c# mysql listview win-universal-app crud

我正在开发Windows通用应用程序,并且已经在UWP中发现了一些限制。现在我正在使用MySQL数据库。

<TextBlock Text="{Binding Path=client_surname}"></TextBlock>
<TextBlock Text="{Binding Path=client_name}"></TextBlock>

XAML(这些TextBlocks在ListView中)

在Data.cs中我得到了这样的东西:

        public class Tablename
    {
        private string _client_name;
        public string client_name
        {
            get { return _client_name; }
            set { _client_name = value; }
        }

        private string _client_surname;
        public string client_surname
        {
            get { return _client_surname; }
            set { _client_surname = value; }
        }
    }

代码是这样的:

  using (MySqlConnection connection = new MySqlConnection("xxx"))
        {
            connection.Open();
            MySqlCommand readCommand = new MySqlCommand("SELECT * FROM clients", connection);

            using (MySqlDataReader reader = readCommand.ExecuteReader())
            {
                while (reader.Read())
                {
                    demodata.Add(new CloudTable { client_name = reader.GetString(1), client_surname = reader.GetString(2) });
                }
            }
        }
        listView1.DataContext = demodata;
    }
        public ObservableCollection<CloudTable> demodata = new ObservableCollection<CloudTable>();

那么问题,我可以制作按钮&#34; EDIT&#34;并通过单击它转到新的空白页面,使用新的TextBoxes,并用选定的listview项填充它们,那么我可以编辑和更新所选的实体吗?

2 个答案:

答案 0 :(得分:1)

你能吗?是。但这不是一个教程网站。您正在寻找的是MVVM UWP应用程序。通过在Google中搜索“C#UWP crud”,我找到了本教程

https://blogs.msdn.microsoft.com/johnshews_blog/2015/09/09/a-minimal-mvvm-uwp-app/

这将帮助您创建所需的内容。

答案 1 :(得分:1)

Windows Universal Platform随附sqlite,您只需配置您的nuget包并引用正确的库。

转到此页面,它解释了在UWP应用程序上开始使用sqlite时需要了解的所有内容。

  

http://igrali.com/2015/05/01/using-sqlite-in-windows-10-universal-apps/

至于编辑按钮,你一定可以;) 试试这样的事情:

public void Button_Click(object sender, RoutedEventArgs e){
    MyObject obj = listview1.SelectedItem as MyObject;
    this.Frame.Navigate(typeof(YourNewPage), obj);
}

然后在您的新页面上,您可以收到这样的对象:

protected override void OnNavigatedTo(NavigationEventArgs e) {
    MyObject obj = e.Parameter as MyObject;

    textbox1.Text = obj.MyName;
    textbox2.Text = obj.MyOtherValue; 
    //etc etc etc
}