public static MDQueryResult_Table FillMDResultData(string selectStr, string tableName, MySqlConnection cn) { MySqlDataReader rdr; MDQueryResult_Table _dt = new MDQueryResult_Table(tableName); rdr = MysqlDBHelper.ExecuteReader(cn, CommandType.Text, selectStr); FillTableByReader(_dt, rdr); rdr.Close(); return(_dt); }
public static void FillTableByReader(MDQueryResult_Table dt, MySqlDataReader rdr) { int i; int fcount = rdr.FieldCount; DataTable schemaTable = rdr.GetSchemaTable(); List <int> NumberColumnList = new List <int>(); dt.Columns = new List <MDQueryResult_TableColumn>(); int index = 0; foreach (DataRow myRow in schemaTable.Rows) { dt.Columns.Add(new MDQueryResult_TableColumn(myRow["ColumnName"].ToString(), myRow["DataType"].ToString())); if ((Type)myRow["DataType"] == typeof(decimal)) { NumberColumnList.Add(index); } index++; } dt.Rows = new List <MDQueryResult_TableRow>(); while (rdr.Read()) { MDQueryResult_TableRow _newrow = new MDQueryResult_TableRow(); for (i = 0; i < fcount; i++) { MDQueryResult_TableColumn _col = dt.Columns[i]; if (NumberColumnList.Contains(i) && !rdr.IsDBNull(i)) { //decimal _v = decimal.Parse((rdr.GetMySqlDecimal(i), 20)); //_newrow.Values.Add(_col.ColumnName, _v); } else { if (rdr.IsDBNull(i)) { _newrow.Values.Add(_col.ColumnName, null); } else { if (_col.ColumnType == "System.DateTime") { _newrow.Values.Add(_col.ColumnName, (DateTime)rdr.GetValue(i)); } else { _newrow.Values.Add(_col.ColumnName, rdr.GetValue(i).ToString()); } } } } dt.Rows.Add(_newrow); } }
public static IEnumerable ToDataSource(this MDQueryResult_Table table) { // return GenerateResultData(table.Rows).ToDataSource(); return(null); }