private static string ParamCreate(AzMetaCloumEntity azMetaCloum, AzClassCreatProperty classCreatProperty) { StringBuilder stringBuilder = new StringBuilder(); MetaDataType metaDataType = MetaDataTypeHandle.GetMetaDataType(azMetaCloum.FldType); stringBuilder.AddLineStatement("param = new SqlParameter();", 2); stringBuilder.AddLineStatement("param.ParameterName = \"@" + azMetaCloum.FldName + "\";", 2); if (azMetaCloum.IsOutParam == 0) { if (azMetaCloum.IsNullable == false) { stringBuilder.AddLineStatement($"param.Value={BaseConstants.ParamPer}Item.{azMetaCloum.FldNameTo};", 2); } else { stringBuilder.AddLineStatement($"if ({BaseConstants.ParamPer}Item.{azMetaCloum.FldNameTo}==null)", 2); stringBuilder.AddLineStatement(" {param.Value = System.DBNull.Value;}", 2); stringBuilder.AddLineStatement($"else", 2); stringBuilder.AddLineStatement($"{{ param.Value={BaseConstants.ParamPer}Item.{azMetaCloum.FldNameTo};}};", 2); } } else { stringBuilder.AddLineStatement("param.Direction = ParameterDirection.Output;}", 2); } if (metaDataType.CodeSign == 2) { stringBuilder.AddLineStatement($"param.Size = {azMetaCloum.FldLenCode};", 2); } stringBuilder.AddLineStatement($"param.SqlDbType = SqlDbType.{metaDataType.DBCodeType};", 2); stringBuilder.AddLineStatement("cmd.Parameters.Add(param);", 2); stringBuilder.AppendLine(); return(stringBuilder.ToString()); }
private static string ParamIdentityPropertyCreate(AzMetaCloumEntity azMetaCloum) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AddLineStatement($"if (c>0)", 3); stringBuilder.AddLineStatement($"{{", 4); stringBuilder.AddLineStatement($"{BaseConstants.ParamPer}Item.{azMetaCloum.FldNameTo}=({GetCorrectType(azMetaCloum)})cmd.Parameters[\"@getautouid\"].Value;", 4); stringBuilder.AddLineStatement($"}}", 4); stringBuilder.AppendLine(); return(stringBuilder.ToString()); }
public static string GetCorrectType(AzMetaCloumEntity azMetaCloum) { MetaDataType metaDataType = MetaDataTypeHandle.GetMetaDataType(azMetaCloum.FldType); string ctype = metaDataType.CodeType; if (azMetaCloum.IsNullable == true) { ctype = metaDataType.CodeGeneric; } return(ctype); }
public static AzMetaCloumEntity KeyFieldFirst(IEnumerable <AzMetaCloumEntity> azMetaCloums) { var result = azMetaCloums.AsQueryable().Where(m => m.IsKeyField == true).FirstOrDefault(); if (result == null) { result = new AzMetaCloumEntity(); result.FldName = "未设置关键定段"; result.FldType = "nvarchar"; result.FldCodeType = "string"; result.FldNameTo = "未设置关键定段"; } return(result); }
public static string SpParamCreate(AzMetaCloumEntity azMetaCloum) { StringBuilder stringBuilder = new StringBuilder(); bool iscannull = azMetaCloum.IsNullable != true; string spfld = GetSpFldName(azMetaCloum.FldName, "P_"); string param_name = GetSpFldName(azMetaCloum.FldName, "param_"); stringBuilder.AddLineStatement($"SqlParameter {param_name} = new SqlParameter();", 2); stringBuilder.AddLineStatement($"{param_name}.ParameterName =\"{azMetaCloum.FldName}\";", 2); if (azMetaCloum.IsOutParam == 0) { if (iscannull) { stringBuilder.AddLineStatement($"{param_name}.Value ={BaseConstants.ParamPer}Item.{spfld};", 2); } else { stringBuilder.AddLineStatement($"if ({BaseConstants.ParamPer}Item.{spfld}==null)", 2); stringBuilder.AddLineStatement($"{{{param_name}.Value =System.DBNull.Value;}}", 2); stringBuilder.AddLineStatement($"else"); stringBuilder.AddLineStatement($"{{{param_name}.Value ={BaseConstants.ParamPer}Item.{spfld};}};", 2); } stringBuilder.AddLineStatement($"{param_name}.Direction = ParameterDirection.Input;", 2); } else { stringBuilder.AddLineStatement($"{param_name}.Direction = ParameterDirection.Output;", 2); } MetaDataType metaDataType = MetaDataTypeHandle.GetMetaDataType(azMetaCloum.FldType); if (metaDataType.CodeSign == 2) { if (azMetaCloum.FldLen < 1) { stringBuilder.AddLineStatement($"{param_name}.Size = int.MaxValue - 1;", 2); } else { stringBuilder.AddLineStatement($"{param_name}.Size = {azMetaCloum.FldLen};", 2); } } stringBuilder.AddLineStatement($"{param_name}.SqlDbType = SqlDbType.{metaDataType.DBCodeType};", 2); stringBuilder.AddLineStatement($"cmd.Parameters.Add({param_name});", 2); stringBuilder.AppendLine(); return(stringBuilder.ToString()); }