string.Join的特殊用法
今天在工作中看到了大佬写的一段代码,大为吃惊,对比之前写sql语句完全是费时费力,特此总结一下:
string sqll = "SELECT a.VhcNum,b.DriverMan,b.Mobile,b.DriverCode from MdEquipment as a " + " LEFT JOIN MDDrivers as b on a.EquipmentID = b.EquipMentID where IsCheck ='1' and MarkDel ='0' and a.VhcNum ='" + VhcNum + "'";
DataTable dtt = dbt.QueryDataTable(sqll);
string Cardholder = dtt.Rows[0]["DriverMan"].ToString();
string Card = dtt.Rows[0]["DriverCode"].ToString();
string Tel = dtt.Rows[0]["Mobile"].ToString();
#region 方法1
List<string> values = new List<string>();
values.Add("CompSign=1");
values.Add("SendSucc=0");
if (!string.IsNullOrEmpty(Cardholder)) values.Add("Cardholder='" + Cardholder + "'");
if (!string.IsNullOrEmpty(Tel)) values.Add("Tel='" + Tel + "'");
if (!string.IsNullOrEmpty(Card)) values.Add("Card='" + Card + "'");
string setSql = string.Join(",", values.ToArray());
strSql = "UPDATE uVhcReg set " + setSql + " where VhcRegNO='" + VhcRegNO + "'";
#endregion
#region 方法2
strSql = "UPDATE uVhcReg set CompSign=1,SendSucc=0,Cardholder='" + Cardholder + "', Tel='" + Tel + "', Card='" + Card + "' where VhcRegNO='" + VhcRegNO + "'";
#endregion
方法2:是直接拼sql语句,字段少还好说,一旦数量大就容易出错。
方法1:重点是string里边的Join()方法,通过一个list数组,将要修改的字段数据保存,通过Join方法进行格式转换,最后拼接到sql语句中。
这样一修改,代码更加整体,易修改,简介明了,Nice~
这里是井队,天高任鸟飞,海阔凭鱼跃,点个关注不迷路,我们下期再见。