用 C# wpf 中的数据网格信息填充 MYSQL 数据库
本文关键字:信息 网格 填充 MYSQL 数据库 数据网 数据 wpf | 更新日期: 2023-09-27 18:36:31
相信我,我已经用谷歌搜索过了。很明显,由于半明显的原因,用于 win-forms 的 C# 代码在 C# WPF 上不起作用。但不明显的是如何用数据网格中修改的或全新的数据填充 MYSQL 表。反之亦然(用 MYSQL 数据填充数据网格)。
private void Save_Click(object sender, RoutedEventArgs e)
{
string sqlcon = "datasource = localhost; port = 3306; username = root; password = Avalisque";
string queryadd = "insert into users.login (user_name,pass_word,gender,first_name,second_name,third_name,surname,security_question,answer);";
MySqlConnection con = new MySqlConnection(sqlcon);
MySqlCommand cmd = new MySqlCommand(queryadd, con);
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
DataSet ds = new DataSet();
try
{
con.Open();
cmd.ExecuteNonQuery();
DataTable dt = new DataTable("login");
da.Fill(ds);
DG.datasource = ds.Tables[0];
da.Update(dt);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
(DG是数据网格)。这是错误消息:
"System.Windows.Controls.DataGrid"不包含"数据源"的定义,并且找不到接受类型为"System.Windows.Controls.DataGrid"的第一个参数的扩展方法"datasource"(您是否缺少使用指令或程序集引用?
任何形式的帮助都非常感谢。这里有点绝望。请和谢谢。
我想
你正在寻找DG.ItemsSource = ds.Tables[0].AsEnumerable();
您收到该错误是因为System.Windows.Controls.DataGrid
没有名为 datasource
的属性。
DataTableExtensions.AsEnumerable 向您展示了如何将 DataTable 转换为 Enumarable,其中 T : DataRow
我认为你有一个属性ItemsSource。
另外不要忘记 wpf 与 mvvm 模式配合得很好。事实上,您的 itemsource 可能应该是您的视图模型中可用的可观察集合。