c# MVC框架 对mysql数据库的查询

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/tianchao7c/article/details/83580918
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using demo2.Models;
using MySql.Data.MySqlClient;
using Newtonsoft.Json;

namespace demo2.Controllers
{
    public class GetFilesController : Controller
    {
        // GET: GetFiles
        [HttpGet]
        public void GetFiles(GetFiles Parameter)
        {
            string sn = Parameter.Sn_code;
            string t = DateTime.Now.ToString("yyyyMMdd");
            string name = Parameter.File_name;
            MySqlConnection sqlCnn = new MySqlConnection();
            string connetStr = "Server = 127.0.0.1; Port = 3306; Database = Database; Uid = root; Pwd = root;SslMode = none;";
            MySqlConnection conn = new MySqlConnection(connetStr);
            //string sql1 = string.Format("select * from device_files where sn_code='{0}' order by file_time,fid DESC limit 0,1", sn);
            //string sql1 = string.Format("select * from device_files where sn_code='{0}' and file_time='{1}'", sn, t); //查询当前日期包含的数据
            string sql1 = string.Format("select * from device_files where sn_code='{0}' and file_name like '%{1}%'", sn, name); //模糊查询文件名

            MySqlCommand cmd = new MySqlCommand(sql1, conn);

            try
            {
                conn.Open();
                //执行查询,并将结果返回给读取器
                MySqlDataReader reader = cmd.ExecuteReader();

                List<GetFiles> proList = new List<GetFiles>();

                while (reader.Read())
                {
                    proList.Add(new GetFiles
                    {
                        Fid = reader.GetString(reader.GetOrdinal("fid")),
                        Sn_code = reader.GetString(reader.GetOrdinal("sn_code")),
                        File_src = reader.GetString(reader.GetOrdinal("file_src")),
                        File_time = reader.GetString(reader.GetOrdinal("file_time")),
                        File_name = reader.GetString(reader.GetOrdinal("file_name"))
                    });
                }

                var obj = new
                {
                    Sn_code = reader.GetString(reader.GetOrdinal("sn_code")),
                    data = proList,
                    message = true,
                    state = 200
                };
                Formatting microsoftDataFormatSettings = default(Formatting);
                string result = JsonConvert.SerializeObject(obj, microsoftDataFormatSettings);
                Response.Write(result);
            }
            catch (MySqlException ex)
            {
                Response.Write(ex);
            }
            finally
            {
                conn.Close();
                Console.WriteLine("关闭数据库");
            }
        }
    }
}

查询结果生成json格式返回到微信小程序里

<think>好的,用户想在C# MVC框架中使用ET框架连接MySQL数据库,需要示例教程。首先,我需要确认用户提到的ET框架具体指哪个。ET框架可能有不同的含义,比如Entity Framework(实体框架)或者某个特定厂商的框架。根据上下文,用户可能指的是Entity Framework,因为这是微软官方推荐的ORM框架,常用于数据库连接。 接下来,需要明确C# MVC框架通常指的是ASP.NET MVC,所以需要结合Entity Framework来连接MySQL数据库。用户可能需要从安装必要的驱动开始,比如MySQL Connector/NET和Entity Framework的MySQL提供程序。 然后,步骤可能包括创建数据模型、配置连接字符串、设置DbContext类,以及实现基本的CRUD操作。需要注意在ASP.NET MVC项目中正确配置App.config或Web.config文件,添加MySQL连接字符串和Entity Framework的配置。 还要考虑用户可能遇到的常见问题,比如版本兼容性、依赖项管理,以及如何在控制器中使用DbContext进行数据操作。需要确保示例代码简洁明了,步骤详细,方便用户跟随操作。 另外,参考用户提供的引用内容,他们提到了MySQL的特点和与其他技术的结合,所以在回答中可以适当引用这些信息来增强权威性,比如提到MySQL的高效性和灵活性[^1]。 最后,生成相关问题时要涵盖安装配置、性能优化、与其他技术的整合以及异常处理等方面,帮助用户全面了解相关主题。</think>### 在C# MVC中使用Entity Framework连接MySQL数据库的示例教程 以下是分步实现过程,基于ASP.NET MVC框架和Entity Framework 6(假设用户所指的ET框架为Entity Framework): 1. **安装必要组件** ```bash # NuGet包管理器控制台执行 Install-Package EntityFramework Install-Package MySql.Data.Entity ``` 2. **配置Web.config** ```xml <configuration> <connectionStrings> <add name="MyDbContext" providerName="MySql.Data.MySqlClient" connectionString="server=localhost;database=mydb;uid=root;password=123456;"/> </connectionStrings> <entityFramework> <providers> <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.Entity.MySqlEFProviderServices, MySql.Data.Entity.EF6"/> </providers> </entityFramework> </configuration> ``` 3. **创建数据模型类** ```csharp public class Product { public int Id { get; set; } public string Name { get; set; } public decimal Price { get; set; } } ``` 4. **创建DbContext类** ```csharp [DbConfigurationType(typeof(MySqlEFConfiguration))] public class MyDbContext : DbContext { public MyDbContext() : base("name=MyDbContext") { } public DbSet<Product> Products { get; set; } } ``` 5. **控制器中使用数据库** ```csharp public class ProductController : Controller { private MyDbContext db = new MyDbContext(); public ActionResult Index() { var products = db.Products.ToList(); return View(products); } [HttpPost] public ActionResult Create(Product product) { if (ModelState.IsValid) { db.Products.Add(product); db.SaveChanges(); return RedirectToAction("Index"); } return View(product); } } ``` **注意事项**: - 确保MySQL服务已启动且版本与Connector/NET兼容 - 推荐使用Code First Migrations进行数据库版本管理 - 连接字符串参数需要根据实际环境配置 - MySQL的灵活存储结构可有效支持ASP.NET MVC的数据管理需求[^1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值