PRB: 指定视图 KeyField 设置其他字段可更新

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 195408
本文已归档。它按“原样”提供,并且不再更新。
症状
指定视图的 keyfield 设置将是可更新,尽管字段未被设置为是可更新的显式域中的其余部分。
解决方案
若要清除您不想为可更新视图中的字段使用 DBSETPROP() 命令类似于以下内容:
   DBSETPROP("TstVw.Fld1","Field","Updatable",.F.)				
参阅,您可以在视图设计器中打开该视图,并清除不想为可更新更新条件选项卡中的字段。
状态
Microsoft 正在研究此行为并将发布新的信息 Microsoft 知识库中相应可用。
更多信息

重现行为的步骤

创建和运行程序,用下面的代码:
   CLOSE DATA ALL   CREATE DATA TstDBC   CREATE TABLE Tbl1 (Fld1 c(10),Fld2 d, Fld3 n(4))   FOR i = 1 TO 4      INSERT INTO Tbl1 VALUES (STR(i),DATE(),1234)   ENDFOR   CREATE SQL VIEW TstVw AS SELECT * FROM Tbl1   USE TstVw   =DBSETPROP("TstVw.Fld1","Field","KeyField",.T.)   ? DBGETPROP("TstVw.Fld2","Field","Updatable")   ? DBGETPROP("TstVw.Fld3","Field","Updatable")				
如果正在为其创建视图表有一个主键,则该字段被设置为在 keyfield 自动创建该视图时。 下面的代码重新产生此行为:
   CLOSE DATA ALL   CREATE DATA TstDBC   CREATE TABLE Tbl1 (fld1 c(10) PRIMARY KEY,fld2 d, fld3 n(4))   FOR i = 1 TO 4      INSERT INTO Tbl1 VALUES (STR(i),DATE(),1234)   ENDFOR   CREATE SQL VIEW TstVw AS SELECT * FROM tbl1   USE TstVw   ? DBGETPROP("TstVw.Fld2","Field","Updatable")   ? DBGETPROP("TstVw.Fld3","Field","Updatable")				
这两个在 DBGETPROP() 命令返回的注释 t。,这意味着两个字段可更新。

警告:本文已自动翻译

属性

文章 ID:195408 - 上次审阅时间:02/23/2014 11:05:12 - 修订版本: 2.1

Microsoft Visual FoxPro 3.0 标准版, Microsoft Visual FoxPro 3.0b 标准版, Microsoft Visual FoxPro 5.0 标准版, Microsoft Visual FoxPro 5.0a, Microsoft Visual FoxPro 6.0 专业版, Microsoft Visual FoxPro 3.0b for Macintosh

  • kbnosurvey kbarchive kbmt kbdatabase kbpending kbprb KB195408 KbMtzh
反馈