VS.NET2005試用手記
最近用vs.net2005 beta2做了個小工具試用了一下,的確是方便易用啊,其實我vs.net2003都沒怎么用過.不過就是喜歡嘗鮮,沒辦法(不知道是不是有很多人跟我一樣,看到新出的東西就想拿來試一試,搞得我的操作系統(tǒng)總是壞的極快).當然,我用vs.net2005還有一個原因是它提供了serialport類來操作串口,跟一些嵌入式系統(tǒng)的串口通訊更方便. 在使用的過程中發(fā)現(xiàn)一個小問題,由于只是小工具,不想使用數(shù)據(jù)庫,所以選用了dataset的untyped dataset功能,來存取binary文件,結(jié)果在使用datatable.find函數(shù)的時候總是找不到記錄.我的代碼是這樣的:
- public void create() { dataset = new dataset();
 - dataset.remotingformat = serializationformat.binary;
 - datatable = new datatable();
 - dataset.tables.add(datatable);
 - datatable.columns.add(new datacolumn("card_no"));
 - datatable.columns.add(new datacolumn("member_no"));
 - datatable.columns.add(new datacolumn("serial_no"));
 - datatable.columns.add(new datacolumn("expiry_date", type.gettype("system.datetime")));
 - datacolumn[] keys = new datacolumn[1];
 - keys[0] = datatable.columns["serial_no"];
 - datatable.primarykey = keys;
 - }
 - public void open(sspaning filename)
 - {
 - if (file.exists(filename))
 - {
 - binaryformatter bf = new binaryformatter();
 - filesspaneam fs = new filesspaneam(filename, filemode.open);
 - spany
 - {
 - //dataset.readxml(filename);
 - //dataset.acceptchanges();
 - dataset = (dataset)bf.deserialize(fs);
 - dataset.acceptchanges();
 - }
 - finally
 - {
 - fs.close();
 - } public void save(sspaning filename)
 - {
 - if (dataset.haschanges())
 - {
 - binaryformatter bf = new binaryformatter();
 - filesspaneam fs = new filesspaneam(filename, filemode.create);
 - spany
 - {
 - //dataset.writexml(filename);
 - bf.serialize(fs, dataset);
 - dataset.acceptchanges();
 - }
 - finally
 - {
 - fs.close();
 - }
 - }
 - }
 
用datatable.rows.find()的時候,明明table中有要找的數(shù)據(jù),卻始終返回null,而使用readxml,writexml函數(shù)操作xml格式來存儲就沒問題(就是漫一點,這是我想用binary格式的原因).不知是不是我忽略了某些步驟,msdn2上的說明還是有點簡單啊。不過總的來說,VS.NET2005還是很好用的。
【編輯推薦】















 
 
 
 
 
 
 