net下访问mysql主要有2种方法:
1.字符串拼接访问
a.mysql官网下载并安装mysql-connector-net.
b项目中引用mysql.data等
所有增删改查可以通过拼接sql语句全部实现,但有注入风险,建议用方法2.
2.Linq
a.mysql官网下载并安装mysql-connector-net.并重启,
b.在vs中打开"服务器资源管理器“并添加相应连接(a步骤重启后,在"更改数据源"中会增加连接”MySQL DataBase“)
c.创建”ADO.NET实体数据模型“向导中设置为b步骤中的数据库连接即可连接
d.Linq连接读取
1查询数据
/// <summary> /// 查询数据 /// </summary> public static List<Model.t_user> GetUserList() { var _db = new DataBase. GJHLWebChat(); return _db.t_user.Select(LinqToModel).ToList(); }
2新增数据
/// <summary> /// 新增用户 /// </summary> /// <param name="u"></param> /// <returns></returns> public static bool AddUser(Model.t_user u) { var _user = new DataBase.t_user() { AppId = u.AppId, AppSecret = u.AppSecret, IsDelete = u.IsDelete==1?true:false, LoginName = u.LoginName, pwd = u.pwd, RegTime = u.RegTime, Tel = u.Tel, userid = u.userid, UserName = u.UserName }; _db.t_user.AddObject(_user); _db.SaveChanges(); return true; }
3更新数据
/// <summary> /// 更新 /// </summary> /// <param name="u"></param> /// <returns></returns> public static bool UpdateUser(Model.t_user u) { var _db = new DataBase.GJHLWebChat(); var _user= _db.t_user.Where(m => m.userid == u.userid).FirstOrDefault(); if (_user!=null) { _user. AppId=u.AppId; _user. AppSecret=u.AppSecret; _user. IsDelete= u.IsDelete==1?true:false; _user. LoginName=u.LoginName; _user. pwd=u.pwd; _user. RegTime=u.RegTime; _user. Tel=u.Tel; _user.UserName = u.UserName; _db.AcceptAllChanges();//接受所有改变 _db.SaveChanges();//更新改变 return true; } return false; }
4删除数据
/// <summary> /// 删除 /// </summary> /// <param name="u"></param> /// <returns></returns> public static bool DeleteUser(Model.t_user u) { var _db = new DataBase.GJHLWebChat(); var _user = _db.t_user.Where(m => m.userid == u.userid).FirstOrDefault(); if (_user != null)//查找并删除用户 { _db.t_user.DeleteObject(_user); _db.SaveChanges(); return true; } return false; }
附:Entity Framework vs. LINQ to SQL:http://blog.csdn.net/jfchef/article/details/7632872
msdn objectcontext:http://msdn.microsoft.com/zh-cn/library/vstudio/system.data.objects.objectcontext_methods.aspx