需要对Access数据库表中的列名进行修改,该如何实现?
例:表A(只包含一个属性)中有一条记录"kkk",而kkk要作为表B中的一个列名。在对表A中的该条记录修改时,系统需要对表B中的列名也进行更新,用SQL语句好像无法实现。 大家帮帮忙,小弟在此叩谢了!
例:表A(只包含一个属性)中有一条记录"kkk",而kkk要作为表B中的一个列名。在对表A中的该条记录修改时,系统需要对表B中的列名也进行更新,用SQL语句好像无法实现。 大家帮帮忙,小弟在此叩谢了!
例如同类型由大变小,或变成不同类型,由大变小会丢失一些大的数据,变成不同在类型,就会全部丢失.
用SQL好像不能修改,但用ADO或ADO.NET没问题
MyTable.Columns[MyFieldName].Name = strNewName //ADO建议不要设计可修改列名的系统,这种方式是很危险的,简单来说,如果你有个升级的版本,你都不知道用户将列名改为什么样子啦!
ModTable("alter table B add temp text(255)");
ModTable("update B Set temp=要修列名称);
ModTable("alter table B drop 要修列名称);
ModTable("alter table B add 新创建的列名称 字段属性);
ModTable("update B Set 新创建的列名称 = temp");
ModTable("alter table B drop temp"); public void ModTable()
{ mySQL.Open();
OleDbCommand Cmd = new OleDbCommand(SQL, conn);
Cmd.ExecuteNonQuery();
Cmd.Dispose();
mySQL.Close();
}
代码参见
http://dotnet.aspx.cc/article/89137097-0313-4197-aebf-116e391e354a/read.aspx
病人收费单表(收费单ID,……)
病人收费项目表(收费单ID,收费项目ID,费用,……)
只是改列名,Index是索引号啊,怎么能丢呢,用Index访问......