Fox LIFE 2022-06-09 12:41 采纳率: 80%
浏览 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 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵