if(File.Exists("Program Files//ceCRM//data.sdf"))
{
MyConn = new SqlCeConnection("Data Source = Program Files//ceCRM//data.sdf");
}
else
{
SqlCeEngine Engine = new SqlCeEngine("Data Source = Program Files//ceCRM//data.sdf");
Engine.CreateDatabase();
Engine.Dispose();
try
{
MyConn = new SqlCeConnection("Data Source = Program Files//ceCRM//data.sdf");
MyConn.Open();
SqlCeCommand MyComm = MyConn.CreateCommand();
MyComm.CommandText = "create table admin(id int identity(1,1),name varchar(20) primary key,password varchar(20))";
MyComm.ExecuteNonQuery();//这里出错误
MyComm.CommandText = "inset into admin values('ighack','123456ab')";
MyComm.ExecuteNonQuery();
}
catch
{
MyConn.Close();
}
未处理的“System.Data.SqlServerCe.SqlCeException”类型的异常出现在 System.Data.SqlServerCe.dll 中

解决方案 »

  1.   

    估计是sql语句有问题,你把它放到查询分析器里看能不能正确执行
      

  2.   

    参考msdn帮助if (File.Exists("Test.sdf"))
        File.Delete("Test.sdf");string connStr = "Data Source = Test.sdf; Password = <password>";
     
    SqlCeEngine engine = new SqlCeEngine(connStr);
    engine.CreateDatabase();
    engine.Dispose();SqlCeConnection conn = null;try {
        conn = new SqlCeConnection(connStr);
        conn.Open();    SqlCeCommand cmd = conn.CreateCommand();
        cmd.CommandText = "CREATE TABLE myTable (col1 int, col2 ntext)";
        cmd.ExecuteNonQuery();
    }
    catch {}
    finally {
        conn.Close();
    }
    --------------
    改动如下string path=@"c:\Program Files\ceCRM\data.sdf";
    if(File.Exists(path))
    {
             File.Delete(path);//加这句,估计是已经存在了该文件,所以创建时出错
    MyConn = new SqlCeConnection("Data Source="+path);         
    }
    else
    {
    SqlCeEngine Engine = new SqlCeEngine("Data Source ="+path);
    }
    试试
      

  3.   

    sql语句在查询分析器可以运行
    文件是不存在的
      

  4.   

    SqlCeCommand MyComm = new SqlCeCommand("create table admin(id int identity(1,1),name varchar(20) primary key,password varchar(20))", MyConn);
      

  5.   

    不要用name系统字做字段名试一下吧.
      

  6.   

    楼上的能不能说的具体一点啊
    drk928(一起看斜阳)
    你说的方法没有用啊