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

为啥主键设置不下呢

2012-09-10 
为啥主键设置不上呢?我在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的

热点排行