Fox LIFE 2022-06-09 12:41 采纳率: 72.7%
浏览 30
已结题

为什么ASP.NET MVC项目 不能链接到 Mysql数据库

为什么ASP.NET MVC 项目 不能链接到 Mysql 数据库?

项目环境:

名称版本
Visual Studio 2022社区版
NET6.0.203
SQL Server2019-docker
Mysql8.0-docker
ASP.NET MVC--

问题描述:

我想让该项目使用 mysql 这个数据库,但运行后会显示一个 Option not supported. (Parameter 'post')(如图)

img

调用/控制器:

public IActionResult DemoUser()
{
      DataTable demoList = MysqlLink.query_Select("SELECT * FROM demoUser");
      ViewData["demo"] = demoList;
      return View();
}
// MysqlLink 是一个数据链接的上下文类
// query_Select 是一个专用于执行查询语句的上下文方法

数据链接上下文代码:

using MySql.Data.MySqlClient;
using System.Data;
using MySql.Data.EntityFramework;
using System.Data.Entity;

namespace test.comon
{
    public class MysqlLink 
    {
        public MysqlLink()
        {
            
        }

        static MySqlConnection createConn()
        { 
            String linkArg = "server=localhost;post=3307;user id=root;password=123456;database=demo";
            Console.WriteLine(linkArg);
            MySqlConnection conn = new MySqlConnection(linkArg);
            return conn;

        }

        //查询 - 接收 一个 Sql 语句(String:Select)
        public static DataTable query_Select(string selectSql) {
            MySqlConnection myconn = MysqlLink.createConn();

            MySqlDataAdapter myda = new MySqlDataAdapter(selectSql, myconn);
            DataSet myds = new DataSet();
            myconn.Open();
            myda.Fill(myds, "demo");
            myconn.Close();
            return myds.Tables["demo"];
        }

        //操作 - 接收一个 SQL 语句(String:支持Update/Delect/Insert) 
        public static int query_operate(string operateSql) {
            MySqlConnection myconn = MysqlLink.createConn();
            MySqlCommand mycomm = new MySqlCommand(operateSql, myconn);
            int c;
            myconn.Open(); // 打开链接
            c = mycomm.ExecuteNonQuery(); //执行 Sql
            myconn.Close(); //关闭链接
            return c; // 返回 Sql 操作 所影响的记录
        }
        //End-----------Code
    }
}

这个应该如何解决?

项目已经载入了NuGet程序包(清单列表如下)

NuGet 程序包版本
Mysql.Data8.0.29
MySql.Data.EntityFramework8.0.29

链接字符串参数如下

链接字符串参数值
Mysql 链接字符串"server=localhost;post=3307;user id=root;password=123456;database=demo"

补充描述:

  • 我的项目ASP.NET MVC 没有Startup.cs文件
  • 只有一个application.json文件,该文件也写入了链接字符串(参数同上)
  • Sql ServerMysql 这两个数据库容器都已启动,均有相关数据库和表
  • 项目如果改用Sql Server 是完全没有任何问题的,不确定是不是NET 6 禁用了这个操作?有知情的朋友愿意讲解下嘛?

需求实现: 使用Mysql作为数据库的 ASP.NET MVC 项目!

项目代码改写自 https://www.cnblogs.com/wanjinliu/

  • 写回答

1条回答 默认 最新

  • 於黾 2022-06-09 13:19
    关注

    post是个鬼呀,不应该是port吗,乱写能不报错

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月17日
  • 已采纳回答 6月9日
  • 修改了问题 6月9日
  • 创建了问题 6月9日

悬赏问题

  • ¥15 如何使用SC92F8003固件库解析私有协议数据?
  • ¥15 如何在音频中嵌入字符串(水印)信息进行传递
  • ¥30 plc怎么以设计说明书申请软著
  • ¥15 硬盘识别不了,需要初始化,可我的数据怎么办
  • ¥15 lvm2被mask了,怎么unmask都没用(标签-ubuntu|关键词-apt)
  • ¥15 交叉注意力机制的残差问题
  • ¥15 微信小程序:渲染收货地址时页面不显示
  • ¥20 win7 64位DirectShow提示初始化失败如何解决?
  • ¥15 关于Java对接海康威视车牌识别一体机SDK是否需要固定外网的IP?
  • ¥15 Linux扩容时,格式化卡住了:vgdispaly查看卷组信息,没有输出