C#中如何检查Firebase内人员ID是否已存在?防止数据被覆盖
检查ID是否存在的解决方案
要避免重复ID覆盖原有数据,核心思路是先查询再操作:先检查目标ID对应的记录是否存在,再决定执行插入还是提示错误。
具体实现步骤
- 调用客户端的
Get方法,根据输入的ID查询已有记录 - 若查询结果不为空,说明ID已存在,执行提示或拦截逻辑
- 若查询结果为空,再执行
Set操作插入新数据
代码示例
string targetId = idTbox.Text; // 先查询该ID对应的人员记录 var existingPerson = client.Get<person>("Person/" + targetId); if (existingPerson != null) { // ID已存在,这里可替换为你需要的提示逻辑,比如弹窗告知用户 MessageBox.Show("该ID已存在,无法重复添加"); } else { // ID不存在,执行插入操作 person per = new person() { Name = fullNameTbox.Text, ID = targetId }; var setter = client.Set("Person/" + targetId, per); }
补充说明
如果你的客户端库存在特殊情况(比如查询不存在的记录时返回默认值而非null),可以结合库的特性调整判断逻辑:比如检查返回对象的ID字段是否为空,或者查看库是否提供了专门的Exists方法来直接判断记录是否存在。
内容的提问来源于stack exchange,提问作者Faisal Khaled
相关产品推荐
相关产品推荐

