/// <summary> /// 获取指定表中的数字或日期字段 /// </summary> /// <param DSet="DataSet">DataSet对象</param> /// <param comBox="ComboBox">ComboBox控件</param> /// <param Sign="int">标识</param> public void FieldStyle(DataSet DSet, ComboBox comBox, int Sign) { comBox.Items.Clear(); Type TColumn;//定义一个类型变量 if (Sign == 2) { YMD = new int[DSet.Tables[0].Columns.Count]; for (int i = 0; i < YMD.Length; i++) { YMD[i] = YMD.Length + 2; } } int ymdSign = 0; int ymdi = 0; for (int i = 0; i < DSet.Tables[0].Columns.Count; i++) //遍历DataSet对象中的列 { TColumn = DSet.Tables[0].Columns[i].DataType; //获取当前列的类型 if (Sign == 0 || Sign == 2) //如果标识为0,表示获取的是字符串和日期的字段 { if (TColumn.ToString() == "System.String" || TColumn.ToString() == "System.DateTime") { comBox.Items.Add(DSet.Tables[0].Columns[i].Caption);//添加符合条件的列标题名 if (Sign == 2 && TColumn.ToString() == "System.DateTime") { YMD[ymdi] = ymdSign; ymdi = ymdi + 1; } ymdSign = ymdSign + 1; } } if (Sign == 1)//表示获取的是数字型的字段(整型、单精度型、双精度型、货币型、实数型) { if (TColumn.ToString() == "System.Int32" || TColumn.ToString() == "System.Double" || TColumn.ToString() == "System.Decimal" || TColumn.ToString() == "System.Single") { comBox.Items.Add(DSet.Tables[0].Columns[i].Caption); } } } }
/// <summary> /// 对日期字段进行格式化 /// </summary> /// <param DSet="DataSet">DataSet对象</param> /// <param SqlStr="string">SQL语句</param> /// <returns>返回string对象</returns> public string DataFormat(DataSet DSet, string SqlStr) { string temSql = SqlStr; Type TColumn; //定义一个类型变量 for (int i = 0; i < DSet.Tables[0].Columns.Count; i++) //遍历DataSet对象中的列 { TColumn = DSet.Tables[0].Columns[i].DataType; //获取当前列的类型 if (TColumn.ToString() == "System.DateTime") { for (int j = 0; j < DSet.Tables[0].Rows.Count - 1; j++) { if (DSet.Tables[0].Rows[j][i].ToString().Length > 10) { temSql = LookupSubStr(temSql, DSet.Tables[0].Columns[i].Caption); break; } } } } return(temSql); }