访问sql检查创建之前是否存在索引

时间:2011-09-21 03:31:59

标签: c# ms-access indexing

我正在以编程方式在访问数据库中的表上创建索引:

CREATE INDEX ind ON tableA (columnb);

在尝试创建索引之前,有没有办法可以做“如果不存在”?

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为你对Access不是那么整洁,但这里有一些注意事项。我对C#一无所知,所以以下仅基于Access的一些知识。

string connectionString = 
      "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\docs\\some.mdb";
OleDbConnection con = new OleDbConnection(connectionString);
con.Open();

//Number of restriction columns: 5
//Restriction columns: TABLE_CATALOG, TABLE_SCHEMA, INDEX_NAME, TYPE, TABLE_NAME

string[] restrictions = new string[5];
restrictions[2] = "SomeKey";
restrictions[4] = "SomeTable";

System.Data.DataTable table = con.GetSchema("Indexes",restrictions);

参考
http://msdn.microsoft.com/en-us/library/cc668764.aspx
http://msdn.microsoft.com/en-us/library/ms135852.aspx
http://msdn.microsoft.com/en-us/library/ms709712(v=vs.85).aspx