优秀的编程知识分享平台

网站首页 > 技术文章 正文

NET中sqlserver行锁的应用和Cast拼接SQL语句的用法

nanyue 2024-08-27 18:01:29 技术文章 5 ℃

在NET+EF+MVC接口开过程中,有时候需要应用行锁和拼接sql语句下面笔者介绍一下使用场景和方法,以供参考:

一、行锁

#region 人脸采集更新图片和特征码时,需要行锁,要更新本张图片特征码时,不能有其它人同时操作

t = DbHelperSQL.ExecuteSql("update hx_student_face WITH (ROWLOCK) set face_photosname='" + face_photosname + "',facial_feature='" + model.facial_feature + "' where TrialID=" + model.TrialID and student_face_id=" + face.student_face_id + "");

#endregion 更新图片和特征码



二、拼接sql语句时需要用CAST,CAST是将一种数据类型的表达式转换为另一种数据类型的表达式。

string sqldate = statisticaldate.ToString("yyyyMMdd");

StatisticsID = WisdomStarts.Common.Utils.GenerateIntID();

string sql = "declare @prefix varchar(8) set @prefix= substring('" + sqldate + "',3,6) select cast(@prefix+'" + testingtype + "'+right('0000'+cast(NewEnrolmentID as varchar(24)),16) as decimal(24)) as detection_record_id from HX_Kinder_NewEnrolment where Cadetstatus =1 and TrialID=" + TrialID + " and KindergartenID=" + KindergartenID + " and Kinder_Class_ID=" + Kinder_Class_ID + "";

DataTable dt = DbHelperSQL.GET_DataTable_List(sql);

// 把DataTable转换为IList<UserInfo>

IList<hx_detection_record> recordlist = ModelConvertHelper<hx_detection_record>.ConvertToModel(dt);

最近发表
标签列表