日期:2014-05-18  浏览次数:20852 次

[C# 更新外键值的问题]
C# code

问题描述:
    表A(Id,UserId,.....)
    表User(Id, UserName,.....)  表A中 UserId 对应 表User 中的Id
    比如我用GridView绑定表A中的数据,其中有一栏显示的用户名,是根据绑定的UserId 返回的User表中的UserName,
如果我要更新这个UserId,是直接将User表中的UserId,UserName绑定到下拉框选择,还是让用户手动输入用户名,
然后检查输入的用户名是否存在User表中,然后再根据获取的UserId,去更新?


我想知道如果User表中有很多数据,你们去更新表A中的UserId 值,是怎么去处理的?



------解决方案--------------------
下拉框与用户手动输入合并使用:
在用户输入信息时,下拉框根据用户的输入从DB中进行模糊匹配,并将结果全部显示在下拉框中,(类似于我们定火车票时,输入车站名称的那个控件),如果用户输入的名称在数据库中不存在,那么下拉框当然就是空的。

为了提高效率,可以将名称信息一次性提取到内存中,然后当用户输入时,下拉框每次都在内存中进行匹配,这样会快很多。

更新方式当然是获取用户名在User表中对应的UserId,来更新A表。