UniObjects - 写入与 WriteField 区别?
UniObjects - Write vs WriteField Difference?
谁能解释一下下面的区别:
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 设置为字符串 "New Value"。只写记录的一个属性还是写整条记录?当需要更新单个属性时,一个比另一个更好吗?
谢谢!
在第一个示例中,您要从服务器向客户端获取整条记录。一旦在客户端的线路上,您将属性 20 替换为您的值,然后将整个记录写入服务器。
Read(Server)
-> Send(Server-Client)
-> Change Record(Client)
-> Send(Client-Server)
-> Write(Server)
在第二个示例中,您指示服务器读取整条记录,更新属性 20,然后写入整条记录。所有这些都发生在网络的服务器端。
Read(Server)
-> Change Record(Server)
-> Write(Server)
如果您正在更新单个属性并且不需要客户端上的记录,那么后者的性能肯定会更好。如果 1) 您需要记录客户端 and/or 2) 您需要更新多个属性并希望避免多次 DB 写入,则前者会更好。
谁能解释一下下面的区别:
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 设置为字符串 "New Value"。只写记录的一个属性还是写整条记录?当需要更新单个属性时,一个比另一个更好吗?
谢谢!
在第一个示例中,您要从服务器向客户端获取整条记录。一旦在客户端的线路上,您将属性 20 替换为您的值,然后将整个记录写入服务器。
Read(Server)
-> Send(Server-Client)
-> Change Record(Client)
-> Send(Client-Server)
-> Write(Server)
在第二个示例中,您指示服务器读取整条记录,更新属性 20,然后写入整条记录。所有这些都发生在网络的服务器端。
Read(Server)
-> Change Record(Server)
-> Write(Server)
如果您正在更新单个属性并且不需要客户端上的记录,那么后者的性能肯定会更好。如果 1) 您需要记录客户端 and/or 2) 您需要更新多个属性并希望避免多次 DB 写入,则前者会更好。