gpt4 book ai didi

c# - 如何使用 WPF 在 C#.NET 中访问 MySql 数据库?

转载 作者:行者123 更新时间:2023-11-29 19:45:49 24 4
gpt4 key购买 nike

请给我建议。我正在尝试使用 Mysql 服务器数据库在 WPF 中开发 Windows 应用程序。

我必须使用哪种方法在 Mysql 数据库上创建连接?

1) Entity Framework 或者2)ADO.NET或者3)其他

管理员计算机需要在自己的计算机上安装mysql数据库,然后通过网络连接的其他(10个或更多)客户端系统访问mysql数据库。

此处,仅管理计算机内有一个 MySql 数据库。所有其他客户端计算机都通过管理员计算机 IP 地址访问 MySql 数据库。 IP连接字符串是这样的:-

 @"Data Source=10.0.0.101

另一件事是,客户要求在客户端计算机上安装.exe文件时,还应该自动安装mysql服务器数据库(即xampp或其他等..)。

我该怎么做?

我尝试过,ADO.NET C# 而不是 EF 为 wpf windows 应用程序连接 mysql。像这样:-

public void AddUserList( UserSetUp user)  
{

dbConnection.Open();
string query = "INSERT INTO Tble_UserSetUp (FirstName, SurName, Email, PhoneNumber, UserName, Password,Computer_Name,IP_Address,CreatedBy, CreatedDate,IsActive,Function,Department) VALUES (@FirstName, @SurName, @Email, @PhoneNumber, @UserName, @Password,@Computer_Name,@IP_Address,@CreatedBy, @CreatedDate,@IsActive,@Function,@Department)";
MySqlCommand insertSQL = new MySqlCommand(query, (MySqlConnection)dbConnection);
insertSQL.Parameters.AddWithValue("@FirstName", user.FirstName);
insertSQL.Parameters.AddWithValue("@SurName", user.SurName);
insertSQL.Parameters.AddWithValue("@Email", user.Email);
insertSQL.Parameters.AddWithValue("@PhoneNumber", user.PhoneNumber);
insertSQL.Parameters.AddWithValue("@UserName", Encrypt(user.UserName));
insertSQL.Parameters.AddWithValue("@Password", Encrypt(user.Password));
insertSQL.Parameters.AddWithValue("@Computer_Name", user.Computer_Name);
insertSQL.Parameters.AddWithValue("@IP_Address", user.IP_Address);
insertSQL.Parameters.AddWithValue("@CreatedBy", user.CreatedBy);
insertSQL.Parameters.AddWithValue("@CreatedDate", user.CreatedDate);
insertSQL.Parameters.AddWithValue("@IsActive", user.IsActive);
insertSQL.Parameters.AddWithValue("@Function", user.Function);
insertSQL.Parameters.AddWithValue("@Department", user.Department);
try
{
insertSQL.ExecuteNonQuery();
dbConnection.Close();
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}

不使用 Entity Framework 或其他框架是一个坏主意吗?

最佳答案

public partial class MainWindow : Window
{
/*mysql
*
* 1. add nuget mysql.data.dll(desktop application)
* 2. using MySql.Data.MySqlClient;
* 3. code like bellow , you can try
*/
private StringBuilder sb = new StringBuilder();
public MainWindow()
{
InitializeComponent();
mysql();
tbx.Text = sb.ToString();
}
private void mysql()
{
try
{
var connstr = "Server=localhost;Uid=root;Pwd=123456;database=world";
using (var conn = new MySqlConnection(connstr))
{
conn.Open();

using (var cmd = conn.CreateCommand())
{
cmd.CommandText = "select * from city where countryCode= @ID";
cmd.Parameters.AddWithValue("@ID", "100");
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
var ii = reader.FieldCount;
for (int i = 0; i < ii; i++)
{
if (reader[i] is DBNull)
sb.AppendLine("null");
else
sb.AppendLine(reader[i].ToString());
}

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

关于c# - 如何使用 WPF 在 C#.NET 中访问 MySql 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40992053/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com