如何把DataSource 裡面的資料轉存到Access裡 |
尚未結案
|
unisabilly
一般會員 ![]() ![]() 發表:19 回覆:20 積分:17 註冊:2004-05-20 發送簡訊給我 |
小弟用ADOConnection 連線到MS-SQL的資料庫 然後用 ADOQuery 抓出三個Columns 的資料(例如是IP,PORT,Socket)放到DataSource裡,然後現在必須要把抓到的幾筆資料,轉存到Access的資料庫裡(除了原先三個columns的資料外另外增加了一個插入Access的日期及時間),然後把原先MS-SQL裡面這幾筆資料刪除 !! 不曉得該怎麼做 ~ 請各位大大幫幫忙!! ps. ADOQuery 裡以最簡單的 select ip,port,socket from dbo.[test] where ip='127.0.0.1' 為例子,要刪除原先資料庫裡的東西時 也會用到where ip = '127.0.0.1' 或者有別的方法可以刪除,因為這個程式讀出資料後,還沒有刪除原本資料庫前,有可能其他程式又塞入另一筆 ip為127.0.0.1的資料,如果反著刪除,也會把那筆新的資料也一併刪除掉,而這個簡單的資料表並沒有也不須要Primary Key. 另外有可能DataSource裡面是空的,因為如果其他程式沒有塞新資料進來的話他就讀不到資料. ~~ 新手上路.衝.衝.衝. 發表人 - unisabilly 於 2005/07/13 03:56:28 發表人 - unisabilly 於 2005/07/13 04:06:20
|
pgdennis
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:41 回覆:526 積分:443 註冊:2002-05-23 發送簡訊給我 |
1.假設你沒有mdb,需要runtime create,參考
implementation uses comobj; {$R *.dfm} procedure TForm1.CreateMDBClick(Sender: TObject); var access,db,td,recordset: OleVariant; begin syourDatabaseName:='c:\tmp.mdb'; syourTableName:='test1'; //3. load a DAO: try access := GetActiveOleObject('DAO.DBEngine.36'); except access := CreateOleObject('DAO.DBEngine.36'); end; //4. open a database try db := access.CreateDatabase(syourDatabaseName,';LANGID=0x0409;CP=1250;COUNTRY=0',EmptyParam); except exit; end; try //5. create a new table in opened database td := db.CreateTableDef(syourTableName, 0, '', ''); //6. add a field descriptions in table td.Fields.Append(td.CreateField('IP', $0000000A, 15)); td.Fields.Append(td.CreateField('PORT', $0000000A, 15)); td.Fields.Append(td.CreateField('Socket', $0000000A, 15)); //7. add a table definition in table list db.TableDefs.Append(td); finally db.Close; access := UnAssigned; end; end;2.假設現在有mdb了,資料要從Adoquery複製到mdb,最簡單的方法就是一筆一筆 丟,開兩個adoquery分別連結mssql及mdb。方法...這邊真不知道怎寫再說。 3.如果怕別人新增資料進來,那首先需要將複製 刪除的動作包成一個transaction ,這樣等你做完,別人才能新增資料進來(確定一下MSSql的隔離等級是否為Serializable),不過注意transaction不要做太久阿,不然別人會一直等你。 星期一,星期二...星期日..星期一..無窮迴圈@@
------
星期一,二...無窮迴圈@@ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |