none
請教如何可連到SqlCe? RRS feed

  • 問題

  • 請教前輩:

    小弟在跑Pocket PC 的Mobile 5 Emulator 連到資料庫(C:\SQLMobileDb\MyDatabase#1.sdf)時, 卻出現"SqlCeException未處理: Unspecified error [ \SQLMobileDb\MyDatabase#1.sdf ]"的錯誤, 不知那裡錯了, 以下是我的程式, Thank you:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Data.SqlServerCe;

    namespace create_table
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            DataSet GlobalDS;
            private void button1_Click(object sender, EventArgs e)
            {
                string ConnString;
                ConnString = "DataSource="+@"\SQLMobileDb\MyDatabase#1.sdf; Pwd=mm3det";
                // ConnString = ConnString + "Pwd='mm3det';encrypt database=TRUE";
                string selectCmd = "SELECT * FROM list1";
               
                SqlCeConnection conn = new SqlCeConnection(ConnString);
                conn.Open();
                SqlCeDataAdapter da = new SqlCeDataAdapter(selectCmd, conn);
                DataSet ds = new DataSet();
                da.Fill(ds, "list1");
                GlobalDS = ds;
                dataGrid1.DataSource = ds.Tables["list1"];
                conn.Close();
                da.Dispose();
            }

            private void Form1_Load(object sender, EventArgs e)
            {
                SqlCeConnection SqlCeConn = new SqlCeConnection();
            }

            private void button2_Click(object sender, EventArgs e)
            {

            }
        }
    }


    • 已移動 璉璉 2010年1月24日 上午 03:45 (從:Visual Studio一般討論區(General))
    2007年5月17日 下午 08:21

解答

  • HI,

     

    我記得您的資料庫連線設定中好像有指定資料庫檔案所在的目錄(在DataSource屬性中), 而不是直在放在和EXE相同的目錄中, 您可能要查一下是不是路徑的問題

     

    tihs

    • 已標示為解答 璉璉 2010年1月24日 上午 03:45
    2007年5月21日 上午 01:09

所有回覆

  • HI,

    請問您有將*.SDF的資料庫檔案弄到POCKET PC上了嗎?

    tihs

    2007年5月18日 上午 12:24
  • Dear Tihs,

     

               沒有, 我想先在PC上測試後再放到Pocket PC 上, 不知這樣可不可以?

               Thanks.

     

               Sincerely,

                      John

    2007年5月18日 上午 12:34
  • HI,

     

    SQL CE的做法是將資料庫伺服器中的記錄讀到裝置中的SDF檔案, 再寫裝置的程式去讀寫, 所以您必須先將記錄轉到裝置中的SDF檔案中

     

    tihs

    2007年5月18日 下午 02:22
  • Dear Tihs,

     

               謝謝您的指點, 我把資料庫與exe檔放到同一目錄, 然後部署到pda上但出現下列訊息:

    找不到 PInvoke DLL 'sqlceme30.dll'

                但已先將sqlceme20.dll 放到exe檔所在的同一目錄下了, 不知為何如此.

     

               Take care.

                         John

    2007年5月19日 上午 08:50
  • HI,

     

    我記得您的資料庫連線設定中好像有指定資料庫檔案所在的目錄(在DataSource屬性中), 而不是直在放在和EXE相同的目錄中, 您可能要查一下是不是路徑的問題

     

    tihs

    • 已標示為解答 璉璉 2010年1月24日 上午 03:45
    2007年5月21日 上午 01:09