【问题标题】:UniObjects - Write vs WriteField Difference?UniObjects - 写与写字段的区别?
【发布时间】:2015-08-04 19:35:26
【问题描述】:

谁能解释一下下面的区别:

string RecordID = "123456";
string AttribNum = "120";
UniFile myUniFile = myUniSession.CreateUniFile("myFileName");

UniDynArray uda = myUniFile.Read(RecordID);
uda.Replace(AttribNum, "New Value");
myUniFile.Write();

还有这个:

string RecordID = "123456";
string AttribNum = "120";
UniFile myUniFile = myUniSession.CreateUniFile("myFileName");

UniDynArray uda = new UniDynArray(myUniSession, "New Value");
myUniFile.WriteField(RecordID, AttribNum, uda);

两者都将记录“123456”的属性 120 设置为字符串“新值”。只写一个记录的一个属性还是写整个记录?当需要更新单个属性时,一个比另一个更好吗?

谢谢!

【问题讨论】:

    标签: universe u2 u2netdk


    【解决方案1】:

    在第一个示例中,您从服务器获取整条记录到客户端。一旦在线路的客户端,您将属性 20 替换为您的值,然后将整个记录写入服务器。

    Read(Server)
       -> Send(Server-Client)
          -> Change Record(Client)
             -> Send(Client-Server)
                -> Write(Server)
    

    在第二个示例中,您指示服务器读取整个记录,更新属性 20,然后写入整个记录。所有这些都发生在服务器端。

    Read(Server)
       -> Change Record(Server)
          -> Write(Server)
    

    如果您正在更新单个属性并且不需要客户端上的记录,那么以后肯定会表现得更好。如果 1)您需要记录客户端和/或 2)您需要更新多个属性并希望避免多次数据库写入,则前者可能会更好。

    【讨论】:

      猜你喜欢
      • 2015-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-04
      • 2016-11-19
      • 1970-01-01
      • 2017-04-15
      相关资源
      最近更新 更多