Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# &引用;字段定义中的语法错误。”;尝试创建计算列时_C#_Sql_Ms Access - Fatal编程技术网

C# &引用;字段定义中的语法错误。”;尝试创建计算列时

C# &引用;字段定义中的语法错误。”;尝试创建计算列时,c#,sql,ms-access,C#,Sql,Ms Access,我正在尝试使用C#在Access数据库中创建计算列。当运行下面的代码时,我得到了错误 字段定义中存在语法错误 第4行 OleDbConnection conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=database1.accdb"); conn.Open(); OleDbCommand cmd = new OleDbCommand("ALTER TABLE Tabelle1 ADD Test a

我正在尝试使用C#在Access数据库中创建计算列。当运行下面的代码时,我得到了错误

字段定义中存在语法错误

第4行

OleDbConnection conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=database1.accdb");
conn.Open();
OleDbCommand cmd = new OleDbCommand("ALTER TABLE Tabelle1 ADD Test as Skill1 + Skill2 PERSISTED", conn);
cmd.ExecuteNonQuery();
conn.Close();

你知道我做错了什么吗?

你的表名有两个ll(Tablle1)?

我认为MS Access不支持计算列。在SQL Server中,您将执行以下操作:

ALTER TABLE Tabelle1 ADD Test as (Skill1 + Skill2) PERSISTED
MS Access中的一种方法是使用视图:

CREATE VIEW v_Tabelle1 as
    SELECT t.*, (Skill1 + Skill2) as Test
    FROM Tabelle1 t;

或者切换到支持计算列的数据库。

ALTER TABLE看起来有错误。
Skill1+Skill2是什么意思?我不知道MS Access支持表中的计算列。@GordonLinoff回答了这个问题,MS Access当然支持计算列。它们被称为计算字段,请参见。不过,我认为没有DDL支持。