我稍微看過官方MSDN有幾個連結比較有關的連結,和一些StackOverflow的文章
https://msdn.microsoft.com/zh-tw/library/583ek68e(v=vs.71).aspx
https://msdn.microsoft.com/zh-tw/library/t0twakas(v=vs.71).aspx
https://msdn.microsoft.com/zh-tw/library/aa983556(v=vs.71).aspx
https://msdn.microsoft.com/zh-tw/library/4ed2a9fk(v=vs.71).aspx
https://msdn.microsoft.com/zh-tw/library/ebf1436e(v=vs.71).aspx
https://msdn.microsoft.com/en-us/library/system.data.datatable.writexmlschema(v=vs.110).aspx
https://msdn.microsoft.com/zh-tw/library/system.data.datatable.writexml(v=vs.110).aspx
http://stackoverflow.com/questions/14059511/adding-data-to-typed-datasets-programatically
http://stackoverflow.com/questions/1842144/add-a-new-row-into-strongly-typed-dataset
接下來講一下我的作法,因為我是完全初次嘗試,所以可能不是很完整
1. 在Solution Explorer 你的專案上 按右鍵 >> Add >> New Item >>選DataSet
http://i.imgur.com/hg5JgVu.png
檔名改成你要的名稱,我這邊是用TransactData
加好後會出現
http://i.imgur.com/hcbIB3A.png
2.然後在.xsd上按兩下,接下來一般方式開啟ToolBox視窗,把DataTable拖進去畫面裡,
接下來會有個空DataTable,
可以編輯有哪些資料欄位,
新增可以在資料表UI上按右鍵>>Add>> Column (或是用快速鍵Ctrl+L)
右鍵也可以Add Key/Relation SetPrimaryKey等等
http://i.imgur.com/NV27npl.png
另外按下資料欄位後右鍵再開啟Properties的視窗可以設定資料的型態(DataType)、AllowNull等屬性
http://i.imgur.com/nk2bCgD.png
存檔後,
由designer.cs可以看出有個類似DataTable的屬性,
這個例子名稱是TransactDataTableDataTable,
我推測命名規則是"你定的名稱TableDataTable"
http://i.imgur.com/oYXIb07.png
接來看你要在哪邊產生這個類型的資料的地方,
和加入資料的動作,用下面的方式去做
例如我這邊是寫在主控台
//資料表名稱 點 DataTable名稱 然後new
TransactData.TransactDataTableDataTable dt = new TransactData.TransactDataTableDataTable();
//增加資料用這方法,這裡就是每筆資料的建構式,命名方式應該也是"Add你定的名稱TableRow"
//增加多筆就多Add幾次吧
dt.AddTransactDataTableRow(DateTime.Now, 1987, "uiop", "uiop", "uiop");
//將加好資料的Table輸出xsd檔,參數是要寫入覆蓋到哪個檔案
string f = @"C:\Users\admin\Desktop\Data.xsd";
dt.WriteXmlSchema(f);
//將加好資料的Table輸出xml檔,參數是要寫入覆蓋到哪個檔案
string f2 = @"C:\Users\admin\Desktop\Data.xml";
dt.WriteXml(f2);
先寫這樣子,
應該是有反讀取輸出檔案變資料表的方式例如下面
internal static DataSet ReadDataSet()
{
DataSet ds = new DataSet();
ds.ReadXmlSchema("store.xsd");
ds.ReadXml("store.xml");
return ds;
}
還有既然能讀取便資料表那一般資料表在使用的操作等等應該找一下也能找到方法
提幾個我目前找到的
我就先寫到這了其他就請自行研究了!
留言列表