C# 链接表显示为只读
我正在使用C创建一个SQL Server视图,然后打开一个access数据库并将表链接到access中。CREATEVIEW语句、open database语句和link语句工作得很好,但这里的问题是它总是以只读方式链接表。我需要添加或更新当前视图的哪一段o代码,以便视图不总是以只读方式链接C# 链接表显示为只读,c#,.net,ms-access,dao,C#,.net,Ms Access,Dao,我正在使用C创建一个SQL Server视图,然后打开一个access数据库并将表链接到access中。CREATEVIEW语句、open database语句和link语句工作得很好,但这里的问题是它总是以只读方式链接表。我需要添加或更新当前视图的哪一段o代码,以便视图不总是以只读方式链接 string MasterDatabase = "R:\\Testing\\MasterDatabase.mdb"; DAO.Database dd; DAO.DBEngine db = new DAO.D
string MasterDatabase = "R:\\Testing\\MasterDatabase.mdb";
DAO.Database dd;
DAO.DBEngine db = new DAO.DBEngine();
DAO.TableDef tdf9;
bool found = false;
DAO.TableDef tdf1;
string Table = "ServiceEntranceLog";
string TableAccess = "Service_Entrance_Log";
using (var connection = new SqlConnection(ConnectionStringHere))
using (var command = connection.CreateCommand())
{
using (var command4 = connection.CreateCommand())
{
command4.CommandText = "CREATE VIEW HelperView" AS SELECT * FROM monster.ServiceEntranceLog";
command4.ExecuteNonQuery();
}
}
if (_combobox1.SelectedItems.Contains("MasterDatabase"))
{
dd = db.OpenDatabase(CRDB);
try
{
string[] tableNames = new string[1] { TableAccess };
for (int q = tableNames.GetLowerBound(0); q <= tableNames.GetUpperBound(0); q++)
{
foreach (DAO.TableDef tabledef in dd.TableDefs)
{
string name = tableNames[q];
if (tabledef.Name == name) { found = true; }
try { if (found) { dd.TableDefs.Delete(name); } }
catch { }
}
}
}
catch { }
tdf1 = dd.CreateTableDef(TableAccess);
tdf1.Connect = connectionString;
tdf1.SourceTableName = Table;
dd.TableDefs.Append(tdf1);
}
Alrity,所以问题似乎是我需要在表中链接到access时定义主键,以便表可以更新。使用这种语法就可以做到这一点
dd.Execute "CREATE UNIQUE INDEX SomeIndex ON SomeTable (PrimaryKeyColumn) WITH PRIMARY"