【问题标题】:Linked Table Shows As read only链接表显示为只读
【发布时间】:2015-03-30 16:02:29
【问题描述】:

我正在使用 C# 创建一个 SQL Server 视图,然后打开一个 access 数据库并将表链接到 access。创建视图语句、打开数据库语句和链接语句工作得很好但是这里的问题是它总是将表链接为只读。我需要添加或更新当前的哪段代码,以使视图不总是以只读方式链接?

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);
}

【问题讨论】:

    标签: c# .net ms-access dao


    【解决方案1】:

    Alritey,所以看来问题是我需要在将表链接到访问权限时定义一个主键,以便表可以更新。使用这种语法就可以了

    dd.Execute "CREATE UNIQUE INDEX SomeIndex ON SomeTable (PrimaryKeyColumn) WITH PRIMARY"
    

    【讨论】:

      猜你喜欢
      • 2013-10-14
      • 1970-01-01
      • 2018-07-25
      • 2020-09-09
      • 2016-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多