none
select top 10 RRS feed

  • 問題


  • 想請問一下,我目前使用BLOB將一些檔案或圖片存入資料庫中
    下面的filesnd那個欄位,就是存檔案的欄位
    然後再將資料庫同步至pda上

    但是因為這個資料表很大很大,在pda端又會有新增資料的動作
    但如果全部載入的話,pda的記憶體就不夠用了
    因此在新增資料的時候,請問一下,我可以用Select TOP 10這樣的語法嗎
    我在試的時候,好像有問題
    不知是我寫錯,還是跟本不能這樣用!?

    那如果語法不能這樣用的話,有什麼別的方法解決嗎…


    SqlCeDataAdapter upload1 = new SqlCeDataAdapter("SELECT TOP 10 * FROM UploadFile order by doc_ID desc", con);
    SqlCeCommandBuilder uploadB = new SqlCeCommandBuilder(upload1);
    DataSet uploadD = new DataSet();
    upload1.Fill(uploadD,"UploadFile");   
       
    DataRow newRow2;                   
                     
    FileStream fs = new FileStream(filepath, FileMode.OpenOrCreate, FileAccess.Read);
    MyData= new byte[fs.Length];
    fs.Read(MyData, 0, int.Parse(fs.Length.ToString()));
    fs.Close();
                   
    newRow2 = uploadD.Tables["UploadFile"].NewRow();               
    newRow2["doc_ID"] = doc_ID;   
    newRow2["filename"] = filename;
    newRow2["filetype"] = "application/msword";
    newRow2["filesnd"] = MyData;
    newRow2["upload_Date"] = DateTime.Now.ToString();

    uploadD.Tables["UploadFile"].Rows.Add(newRow2);                               
    upload1.Update(uploadD,"UploadFile");     

    2007年1月21日 下午 05:57

解答

  • Hi!

    SqlCe不支援top 10的語法,如果要避免讀取的資料過大,可以使用DataReader作連線資料的讀取,這樣就不會有資料量過大的問題。

    2007年1月22日 上午 02:46

所有回覆

  • Hi!

    SqlCe不支援top 10的語法,如果要避免讀取的資料過大,可以使用DataReader作連線資料的讀取,這樣就不會有資料量過大的問題。

    2007年1月22日 上午 02:46
  • 謝啦謝啦,我阿呆,後來馬上就有找到方法解決了。

    感恩。

    2007年1月22日 上午 08:47