繁体   English   中英

如何在WPF中将文本框绑定到MySQL数据源

[英]How to to bind textbox to MySQL datasource in wpf

好的,所以我一直遵循的totourials是基于c#的winforms编写的,而我的应用程序则基于wpf。 但是,即使我的应用程序运行正常,我还是被告知,有一种使用MVVM绑定文本框的更好方法。 但是,我一直很难找到与基于wpf的主题相关的MySQL,这些主题涵盖了MVVM数据绑定。

这是我目前的做事方式,目前为止行之有效。 显然可能会更好...

        string sqlcon = "datasource = localhost; port = 3306; username = root; password = root";
        string query = "Select * from users.login where tag = '" + this.tag.Text + "' ;";

        new MySqlConnection(sqlcon);

        MySqlCommand cmd = new MySqlCommand(query, con);
        MySqlDataReader rdr;
        try
        {
            con.Open();
            rdr = cmd.ExecuteReader();
            MessageBox.Show("Saved");

            while (rdr.Read())
                {

                    //Declarations

                    string susername = GetString(rdr, "username");
                    string spassword = GetString(rdr, "password");

                    string ssecurity = GetString(rdr, "question");
                    string sanswer = GetString(rdr, "answer");

                    //Binding strings to textboxes

                    username.Text = susername;
                    password.Text = spassword;

                    question.Text = ssecurity;
                    answer.Text = sanswer;

                }
                con.Close();
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

        }

也许我找的地方不对,但是我找不到关于MySQL数据绑定的任何与xaml有关的特定信息。 用wpf做到这一点的最佳方法是什么? 即使只是一个例子也可以。 这样我至少可以了解一个想法。

一种更简单的方法是使用实​​体框架:
http://msdn.microsoft.com/en-us/data/ef.aspx

MVVM实体框架

http://msdn.microsoft.com/en-us/data/jj574514.aspx
如果您确实想使用它,请尝试先获取一些知识。

我首先以与您相同的方式进行操作,但是现在我使用了它,我发现它更容易。
同样,在使用MVVM时,您可以为实体框架对象创建一个项目,然后链接到您的模块。


如果您想像现在那样做,可以这样做:
一些tuts:
http://www.codeproject.com/Articles/165368/WPF-MVVM-Quick-Start-Tutorial
http://www.codeproject.com/Articles/124160/Using-WPF-MVVM-for-Database-Access

视图
将项目源添加到您的对象,

ItemsSource="{Binding}"

并尝试从那里加载的数据库中获取东西,这已经是很大的一步。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM