成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

XCode讀取Excel數(shù)據(jù)并適用于任何數(shù)據(jù)庫(kù)

移動(dòng)開發(fā) iOS
本文介紹的時(shí)XCode讀取Excel數(shù)據(jù)并適用于任何數(shù)據(jù)庫(kù),詳細(xì)的介紹了Xcode讀取Excel數(shù)據(jù)庫(kù)的內(nèi)容,先來(lái)看詳細(xì)內(nèi)容。

XCode讀取Excel數(shù)據(jù)并適用于任何數(shù)據(jù)庫(kù)是本文要介紹的內(nèi)容,不多說(shuō),直接進(jìn)入話題。雖然是充血模型,雖然是強(qiáng)類型,XCode同樣支持遍歷任何數(shù)據(jù)庫(kù)結(jié)構(gòu),并以強(qiáng)類型(相對(duì)于DataSet等字典訪問(wèn))方式讀取數(shù)據(jù)。

要遍歷數(shù)據(jù)庫(kù)結(jié)構(gòu)是很容易的事情,絕大多數(shù)Orm都支持。

但是在沒有實(shí)體類的情況下以強(qiáng)類型方式讀取數(shù)據(jù),就稍微有些復(fù)雜。XCode的原理是為每張表動(dòng)態(tài)創(chuàng)建繼承自Entity<>的實(shí)體類,然后通過(guò)接口來(lái)操作實(shí)體類。

代碼中有了快速反射,雖然沒有性能損耗,但是用起來(lái)挺別扭的,這里說(shuō)明了XCode對(duì)于實(shí)體類元數(shù)據(jù)的動(dòng)態(tài)訪問(wèn)支持還不夠。

  1. // 添加一個(gè)連接  
  2. DAL.AddConnStr("test", "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=Test.xls;" + "Extended Properties=Excel 8.0;", null, null);  
  3. DAL dal = DAL.Create("test");  
  4. // 遍歷所有表  
  5. foreach (XTable table in dal.Tables)  
  6. {  
  7.     Console.WriteLine("表 {0}:", table.Name);  
  8.     // 創(chuàng)建一個(gè)實(shí)體操作者,這里會(huì)為數(shù)據(jù)表動(dòng)態(tài)生成一個(gè)實(shí)體類,并使用CodeDom編譯  
  9.     IEntityOperate op = dal.CreateOperate(table.Name.Replace("$", null));  
  10.     // 因?yàn)閯?dòng)態(tài)生成代碼的缺陷,表名中的$已經(jīng)被去掉,并且Excel的查詢總必須給表名加上方括號(hào),還是因?yàn)橛?  
  11.     // 下面通過(guò)快速反射設(shè)置Meta.TableName  
  12.     Type type = op.GetType();  
  13.     type = typeof(Entity<>.Meta).MakeGenericType(type);  
  14.     PropertyInfoX.Create(type, "TableName").SetValue("[" + table.Name + "]");  
  15.     // 如果沒有記錄,跳過(guò)  
  16.     if (op.FindCount() < 1) continue;  
  17.      // 輸出表頭  
  18.     foreach (FieldItem item in op.Fields)  
  19.     {  
  20.         if (item.Name.StartsWith("F")) break;  
  21.  
  22.         Console.Write("{0}\t", item.Name);  
  23.     }  
  24.     Console.WriteLine();  
  25.     // 查找所有數(shù)據(jù)  
  26.     EntityList<IEntity> list = op.FindAll();  
  27.     //DataSet ds = list.ToDataSet();  
  28.     // 輸出數(shù)據(jù)  
  29.     foreach (IEntity entity in list)  
  30.     {  
  31.         foreach (FieldItem item in op.Fields)  
  32.         {  
  33.             if (item.Name.StartsWith("F")) break;  
  34.  
  35.             Console.Write("{0}\t", entity[item.Name]);  
  36.         }  
  37.         Console.WriteLine();  
  38.     }  

小結(jié):XCode讀取Excel數(shù)據(jù)并適用于任何數(shù)據(jù)庫(kù)的內(nèi)容介紹完了,希望本文對(duì)你有所幫助!

責(zé)任編輯:zhaolei 來(lái)源: 博客園
相關(guān)推薦

2020-07-27 08:19:11

開發(fā)工具數(shù)據(jù)庫(kù)

2020-06-04 08:11:56

數(shù)據(jù)庫(kù)開發(fā)SQL Server數(shù)據(jù)庫(kù)

2024-01-08 08:06:50

2019-09-17 08:47:42

DBA數(shù)據(jù)庫(kù)SQL工具

2023-09-03 12:52:17

2009-08-11 14:51:47

C#讀取Excel中數(shù)

2022-05-23 10:26:26

數(shù)據(jù)庫(kù)分布式

2022-12-08 13:00:10

AI性別偏見

2020-03-13 10:46:35

數(shù)據(jù)分析商業(yè)智能BI

2019-10-22 11:11:16

大數(shù)據(jù)工具容器

2022-11-29 08:45:44

Vue 3UI 組件庫(kù)

2020-10-10 09:19:58

JavaScript開發(fā)技術(shù)

2010-08-26 16:34:12

DB2Excel讀取

2019-04-23 15:54:04

物聯(lián)網(wǎng)數(shù)據(jù)可視化IOT

2023-12-14 17:21:29

2021-08-30 09:00:00

人工智能計(jì)算機(jī)視覺機(jī)器學(xué)習(xí)

2011-02-25 09:08:22

LinuxSuSE Linux

2021-11-04 10:42:43

汽車軟件技術(shù)

2022-09-02 17:47:46

Linux筆記應(yīng)用
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: a级片网站 | 最新av在线播放 | 99免费在线视频 | 精品国产一区二区三区观看不卡 | 中文字幕在线第一页 | 超碰美女在线 | 夜夜摸夜夜操 | 黄色一级毛片免费看 | 成人免费视频网站 | 国产美女一区二区 | 亚洲午夜精品 | 成人伊人 | 91私密视频 | 精品视频一区二区三区在线观看 | 热久久国产 | 国产粉嫩尤物极品99综合精品 | 国产精品久久久亚洲 | 久久久av | 成人av免费播放 | 欧美性久久 | 亚洲看片网站 | 亚洲欧美日韩精品久久亚洲区 | 网站国产| 国产日韩欧美 | 欧美日韩免费在线 | 毛片一区 | 欧美精品一区在线发布 | 日韩av在线一区 | 久久精品欧美一区二区三区不卡 | 99国产精品久久久久老师 | 国产精品久久久久久久毛片 | 午夜精品影院 | 免费亚洲一区二区 | 久久精品视频网站 | 91精品国产91久久久久久 | 亚洲第1页 | 亚洲精品国产成人 | 久久r免费视频 | 欧美国产日韩一区 | 国产精品久久久久一区二区三区 | 久久久久久久久久久一区二区 |