Добавьте подпись для доступа к полям с помощью C#

Я использовал этот код для создания базы данных доступа.

public void CreateAccessAssetFile(string DataSourcePath, string fileName)
{
    if (File.Exists(DataSourcePath + fileName))
            File.Delete(DataSourcePath + fileName);

    //Create Database
    string cnnStr = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" 
                   + DataSourcePath + fileName + "; Jet OLEDB:Engine Type=5";
    var catType = Type.GetTypeFromProgID("ADOX.Catalog");
    object o = Activator.CreateInstance(catType);
    catType.InvokeMember("Create", 
                         BindingFlags.InvokeMethod, 
                         null, 
                         o, 
                         new object[] { cnnStr });

    OleDbConnection cnn = new OleDbConnection(cnnStr);
    cnn.Open();
    var cmd = cnn.CreateCommand();
    cmd.CommandText = "CREATE TABLE TblInfoCompany (fn TEXT , ln TEXT)";
    cmd.ExecuteNonQuery();
}

Теперь я хочу добавить caption два поля, которые, когда мы открываем файл доступа, первое поле будет "FirstName" а второе поле будет "LastName",

Как я могу это сделать?

Благодарю.

1 ответ

Решение

Заголовок не имеет никакого отношения вне MS Access, однако вот некоторые примечания, использующие взаимодействие:

 using Microsoft.Office.Interop.Access.Dao;


        DBEngine dbEng = new DBEngine();
        Workspace ws = dbEng.CreateWorkspace("", "admin", "",
            WorkspaceTypeEnum.dbUseJet);
        Database db = ws.OpenDatabase(@"z:\docs\test.accdb", false, false, "");
        TableDef tdf = db.TableDefs["Table1"];
        Field fld = tdf.Fields["Field1"];

        Property prp = fld.CreateProperty("Caption", 10, "My caption");

        fld.Properties.Append(prp);
Другие вопросы по тегам