如何使用Visual Studio C#和MYSQL创建安装程序或安装程序文件并添加MYSQL引用,以便将我项目部署到另一个系统中?

jc3wubiy  于 2023-01-01  发布在  Mysql
关注(0)|答案(1)|浏览(208)

我正在开发一个新的项目,为医学实验室使用Visual Studio C# WinForms的用户交互和MYSQL的数据库。我成功地建立后,它成功地运行在我的windows机器。但问题是,当我安装我的项目在另一个windows机器上,UI的前端运行良好,但数据库向我抛出错误。错误为使用方法“caching_”对用户“root”的主机“localhost”进行身份验证“sha2_password”失败,并显示消息:未知的数据库'登录'。我认为错误是我需要在我的项目中添加MYSQL引用。但我绝对不知道如何做到这一点。我真的很抱歉,所有因为我在C#和我的英语noob。并从字面上感谢所有。

public partial class registration : Form
{
  string connectionstring = "server = localhost; user id = root; database = login; password = 
  qwerty;";
  MySqlConnection connection = new MySqlConnection(connectionstring);
  MySqlCommand cmd;
  connection.Open();
  try
   {
        cmd = connection.CreateCommand();
        cmd.CommandText = "ALTER TABLE register ADD UNIQUE INDEX(rgstrid);";
        cmd.CommandText = "INSERT IGNORE INTO register(username, password,confirm) VALUES(@username,@password,@confirm)";
        cmd.Parameters.Add("@username", MySqlDbType.VarChar).Value = rgstrusrnmtxtbx.Text;
        cmd.Parameters.Add("@password", MySqlDbType.VarChar).Value = rgstrpswdtxtbx.Text;
        cmd.Parameters.Add("@confirm", MySqlDbType.VarChar).Value = rgstrcnfrmtxtbx.Text;

        DataTable table = new DataTable();
        MySqlDataAdapter adapter = new MySqlDataAdapter();
        adapter.SelectCommand = cmd;
        adapter.Fill(table);
        if (cmd.ExecuteNonQuery() == 1)
        {
             MessageBox.Show("Your Account resgistred Successfully", "information", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
         else
         {
               MessageBox.Show("Account saved Successfully","Success",MessageBoxButtons.OK,MessageBoxIcon.Information);
         }
         catch (Exception)
         {
             throw;
         }
         finally
         {
              if (connection.State == ConnectionState.Open)
              {
                  connection.Close();
              }
    }
}
wbgh16ku

wbgh16ku1#

您可能需要包含一个库引用来与MySql通信,例如MySql.Data包,将其添加为nuget引用可以确保所需文件与其余应用程序文件一起安装。
你的安装程序还需要安装一些软件。如果你运行的是本地数据库,那么数据库引擎本身,还有ado.net驱动程序的.net connector
至少我们是这样做的。你可以根据你访问数据库的方式来避免一些组件。
安装数据库时,应指定root口令。例如,为MySQLInstallerConsole.exe程序提供rootpasswd=qwerty参数。
您的安装脚本还需要设置数据库,即运行sql文件创建任何表并填充数据,或者复制数据库文件本身,或者运行某个程序创建表。

相关问题