在vs.net平台用C#语言和sql ce数据库
系统产生程序如下:
     public virtual int Fill(sqlmobileDataSet.学生信息表DataTable dataTable) {
            this.Adapter.SelectCommand = this.CommandCollection[0];
            if ((this.ClearBeforeFill == true)) {
                dataTable.Clear();
            }
            int returnValue = this.Adapter.Fill(dataTable);//此处异常(出错:文件名无效,请检查数据库的文件名)
            return returnValue;
        }
自己编的程序: 
  private void button1_Click(object sender, EventArgs e)
        {
        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();
           while (dr.Read())
           {
               this.textBox1.Text = dr["name"].ToString();
           } 
        }

解决方案 »

  1.   

    conn =new SqlCeConnection("Data Source=\\sqlmobile.sdf;") ; 应该是这句的错误吧 其他都没啥问题
      

  2.   

    string assemblyFolder = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); 
    string str = "Data Source='" + assemblyFolder + "\\A.sdf'"; 
    SqlCeConnection conn = new SqlCeConnection(str); 
    conn.Open(); 
    string cmdstr = "select * from A"; 
    SqlCeCommand cmd = conn.CreateCommand(); 
    cmd.CommandText = cmdstr; 
    cmd.ExecuteReader(); 
    SqlCeDataAdapter DataA = new SqlCeDataAdapter(cmd); 
    DataSet ds = new DataSet(); 
    DataA.Fill(ds,"A"); http://blog.csdn.net/letian_fly/archive/2008/09/25/2975962.aspx