AtCoder ABC172 C - Tsundoku 字首和+二分
阿新 • • 發佈:2020-07-30
轉載:
首先使用NuGet包管理器搜尋dapper安裝到你所要使用的專案中
直接上程式碼,有寫過dbhelper的看這個應該比較簡單
資料庫程式碼:無註釋這些是建立資料庫最基礎的
use master go create database DapperTest go use DapperTest go create table UserInfo( Id int primary key identity(1,1), LoginName nvarchar(20) null, LoginPWD nvarchar(20) null, URealName nvarchar(20) null, uStatus [int] NOT NULL, uRemark [nvarchar](max) NULL, uCreateTime [datetime] NOT NULL, ) insert into UserInfo values('admin','admin','admin',1,'admin的一天生活',2020-1-1) insert into UserInfo values('a','a','a',1,'admin的言論',2020-1-1) go update UserInfo set uStatus=0 where Id=1 go select* from UserInfo
Vs中的程式碼:
資料模型資料表對應的實體物件。
public class UserInfo { /// <summary> /// 主鍵 /// </summary> public int Id { get; set; } /// <summary> /// 使用者名稱 /// </summary> public string LoginName { get; set; } /// <summary> /// 密碼 /// </summary> public string LoginPWD { get; set; } /// <summary> /// 真實名字 /// </summary> public string URealName { get; set; } /// <summary> /// 狀態,0表示正常,1表示刪除 /// </summary> public int uStatus { get; set; } /// <summary> /// 評論 /// </summary> public string uRemark { get; set; } /// <summary> /// 建立時間 /// </summary> public DateTime uCreateTime { get; set; } }
寫對應的增刪改查
public class DapperHelper { //第一種寫法 private readonly string sqlconnection = "Data Source=.;Initial Catalog=DapperTest;User Id=sa;Password=sa;"; //第二種寫法 private readonly string sqlcon = "server=.;database=DapperTest;uid=sa;pwd=sa;"; //第三種寫法在App.config中寫入 //獲取Sql Server的連線資料庫物件。SqlConnection public SqlConnection sqlCon() { SqlConnection sql = new SqlConnection(sqlconnection); sql.Open(); return sql; } /// <summary> /// 新增單條資料 /// </summary> /// <param name="user"></param> /// <returns></returns> public int InsertUserInser(UserInfo user) { using (var db=sqlCon()) { string query = "insert into UserInfo values(@LoginName,@LoginPWD,@URealName,@uStatus,@uRemark,@uCreateTime)"; return db.Execute(query, user); } } /// <summary> /// 新增多條資料 /// </summary> /// <param name="ulist"></param> /// <returns></returns> public int MultInsertUser(List<UserInfo> ulist) { using (var db = new SqlConnection(sqlconnection)) { string query = "insert into UserInfo values(@LoginName,@LoginPWD,@URealName,@uStatus,@uRemark,@uCreateTime)"; return db.Execute(query, ulist); } } /// <summary> /// 刪除 真刪除 可以增加一個偽刪除 /// </summary> /// <param name="Uid"></param> /// <returns></returns> public int UserDelete(int Uid) { using (var db = new SqlConnection(sqlcon)) { string query = "delete UserInfo where Id=@Uid"; var param = new DynamicParameters(); param.Add("Uid", Uid); return db.Execute(query, param); } } public int MultDeleteUser(List<UserInfo> ulist) { using (var db = new SqlConnection(sqlconnection)) { string query = "delete UserInfo where Id=@Id"; return db.Execute(query, ulist); } } /// <summary> /// 修改 /// </summary> /// <param name="user"></param> /// <returns></returns> public int UserUpdate(UserInfo user)//int Id { //@LoginName,@LoginPWD,@URealName,@uStatus,@uRemark,@uCreateTime using (var db = new SqlConnection(sqlconnection)) { //string query = $"update UserInfo set LoginName=@LoginName,LoginPWD=@LoginPWD,URealName=@URealName,uStatus=@uStatus,uRemark=@uRemark,uCreateTime=@uCreateTime, where Id={Id}"; string query = $"update UserInfo set LoginName=@LoginName,LoginPWD=@LoginPWD,URealName=@URealName,uStatus=@uStatus,uRemark=@uRemark,uCreateTime=@uCreateTime where Id=@Id"; return db.Execute(query, user); } } public List<UserInfo> GetAll() { using (var db = new SqlConnection(sqlconnection)) { string query = "select * from UserInfo"; return db.Query<UserInfo>(query).ToList(); } } /// <summary> /// 查詢指定的資料 /// </summary> /// <param name="uids">查詢條件</param> /// <returns></returns> public List<UserInfo> GetAllIn2(int Id) { using (var db = new SqlConnection(sqlconnection)) { string query = $"select * from UserInfo where Id={Id}"; return db.Query<UserInfo>(query).ToList(); } }
在main中呼叫測試的方法,和資料庫裡面的資料同步
class Program { public static DapperHelper db = new DapperHelper(); static void Main(string[] args) { //DapperHelper db = new DapperHelper(); //var data=db.InsertUserInser(new UserInfo() //{ // LoginName = "admin123", // LoginPWD = "admin123", // URealName = "張三", // uStatus = 0, // uRemark = "admin123發表的言論", // //時間格式轉換 // //uCreateTime = DateTime.Parse("2020-07-25") // uCreateTime=DateTime.Now //}); //已下兩種都是可以修改成功的 //int Id = int.Parse(Console.ReadLine()); //var data = db.UserUpdate(new UserInfo() //{ // LoginName = "admin123", // LoginPWD = "admin123", // URealName = "張三2", // uStatus = 0, // uRemark = "admin123發表的言論", // //時間格式轉換 // //uCreateTime = DateTime.Parse("2020-07-25") // uCreateTime = DateTime.Now, // Id=Id //}, Id); //int Id = int.Parse(Console.ReadLine()); //var data = db.UserUpdate(new UserInfo() //{ // LoginName = "admin123", // LoginPWD = "admin123", // URealName = "張三2", // uStatus = 0, // uRemark = "admin123發表的言論", // //時間格式轉換 // //uCreateTime = DateTime.Parse("2020-07-25") // uCreateTime = DateTime.Now, // Id = Id //}); //if (data > 0) //{ // Console.WriteLine("修改成功"); //} //檢視 //var data2 = db.GetAll(); //foreach (var item in data2) //{ // Console.WriteLine("使用者名稱:"+item.URealName+" "+"賬號:"+item.LoginName); //} //while (true) //{ // int Id = int.Parse(Console.ReadLine()); // var data3 = db.GetAllIn2(Id); // foreach (var item in data3) // { // Console.WriteLine("使用者名稱:" + item.URealName + " " + "賬號:" + item.LoginName); // } // //} //刪除 int Id = int.Parse(Console.ReadLine()); var data4 = db.UserDelete(Id); if (data4 > 0) { Console.WriteLine("刪除成功"); } } }