コード例 #1
0
        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);
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
 public static IEnumerable ToDataSource(this MDQueryResult_Table table)
 {
     // return GenerateResultData(table.Rows).ToDataSource();
     return(null);
 }