程序如下:在vs.net开发环境下,用sql ce数据库
  
            conn = new SqlCeConnection(@"Data Source ='sqlmobile.sdf'");            conn.Open();//此处出错
            SqlCeCommand cmd = conn.CreateCommand();
            cmd.CommandText = "学生信息表";
            cmd.ExecuteNonQuery();
            cmd.CommandType = CommandType.TableDirect;
            SqlCeDataAdapter da = new SqlCeDataAdapter(cmd);            SqlCeDataReader dr = cmd.ExecuteReader();
            DataSet thisdataset = new DataSet();
            da.Fill(thisdataset, "学生信息表");
            i++;
            while (i <3)
           {this.textBox1.Text = thisdataset.Tables["学生信息表"].Rows[i][0].ToString();
            this.textBox2.Text = thisdataset.Tables["学生信息表"].Rows[i][1].ToString();
            this.textBox3.Text = thisdataset.Tables["学生信息表"].Rows[i][2].ToString();
            }

解决方案 »

  1.   

    有可能是路径有问题,或者sdf数据库有密码
    例如你的sdf文件在PDA手持设备的根目录下就可以用:
    SqlCeConnection conn = new SqlCeConnection(@"Data Source =\sqlmobile.sdf;Password=123;Encrypt Database=True"); 如果没有密码的话:
    SqlCeConnection conn = new SqlCeConnection(@"Data Source =\sqlmobile.sdf"); 如果是其他的目录则相应的改,例如在PDA手持设备的My Documents目录下:
    SqlCeConnection conn = new SqlCeConnection(@"Data Source =\My Documents\sqlmobile.sdf"); 
      

  2.   

    要去掉你程序里的conn = new SqlCeConnection(@"Data Source ='sqlmobile.sdf'"); 中的单引号