首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > CAD教程 >

为什么主键设置不上呢

2013-03-27 
为啥主键设置不上呢?我在WPF中用ADOX连接Access数据库,创建了一张表,试图在表上设置一个主键,为啥数据表中

为啥主键设置不上呢?
我在WPF中用ADOX连接Access数据库,创建了一张表,试图在表上设置一个主键,为啥数据表中看不到id被标识为主键呢?设置代码不对么?请大侠指点!
ADOX.CatalogClass cat = new ADOX.CatalogClass();   
  cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbName +";");   
  ADOX.TableClass tbl = new ADOX.TableClass();   
  tbl.ParentCatalog = cat;   
  tbl.Name="MyTable";   
    
  //增加一个自动增长的字段   
  ADOX.ColumnClass col = new ADOX.ColumnClass();   
  col.ParentCatalog = cat;   
  col.Type=ADOX.DataTypeEnum.adInteger; // 必须先设置字段类型   
  col.Name = "id";   
  col.Properties["Jet OLEDB:Allow Zero Length"].Value= false;   
  col.Properties["AutoIncrement"].Value= true;   
  tbl.Columns.Append (col,ADOX.DataTypeEnum.adInteger,0);   
    
  //增加一个文本字段   
  ADOX.ColumnClass col2 = new ADOX.ColumnClass();   
  col2.ParentCatalog = cat;   
  col2.Name = "Description";   
  col2.Properties["Jet OLEDB:Allow Zero Length"].Value= false;   
  tbl.Columns.Append (col2,ADOX.DataTypeEnum.adVarChar,25);   
    
  //设置主键   
  tbl.Keys.Append("PrimaryKey",ADOX.KeyTypeEnum.adKeyPrimary,"id","","");   
  cat.Tables.Append (tbl);   
    
  tbl=null;   
  cat = null;   
[解决办法]
你的这个ADOX是第三方的数据库封装dll吧

如果这个dll原来可以成功设置主键的话,说明是你的程序问题。
如果不是,则说明这个ADOX本身可能有问题哦。
[解决办法]
这玩意好像和silverlight   WPF都没多大关系!你最好去C#专区去问问,那里的人多估计有用过这个dll的

热点排行