abxm.mdb库中有两个表:
getlist表:
g_name(名字) smob(手机号)....
aaa          123456789
bbb          012345678
ccc          456890523
aaa          123456789
.....(有重复)admin_q8表:
realname(姓名)mob(手机号)....
张三           123456789 
李四           456890523
王五           012345678
......(无重复)
现在要根据手机号更新getlist表的g_name字段,使其名字对号入座,
我用了下面这种方法老是报错,说"参数不足,期待是 1"
string sqlstr ="update getlist set getlist.g_name=dlookup("+"\"realname\","+"\"admin_q8\","+"\"admin_q8.mob=getlist.smob\""+")";
OleDbCommand cmd = new OleDbCommand(sqlstr,conn1);
cmd.ExecuteNonQuery();

解决方案 »

  1.   

    update getlist set getlist.g_name=dlookup("+"\"realname\","+"\"admin_q8\","+"\"admin_q8.mob=getlist.smob\""+")"; 
    你传入的是realname,和admin_q8两个值,更新的时候却只有一个:getlist.g_name
      

  2.   

    只传入一个值啊,realname是传入的字段admin_q8是一个表的名字
      

  3.   

    我就是要根据手机号码来确定这个人叫什么名字,而不是aaa,bbb...这些东西,手动输入好麻烦的
      

  4.   

    string sqlstr ="update getlist set g_name=(select  realname from admin_q8 where admin_q8.mbo=getlist.smob)"
      

  5.   

    update g set g.g_name =a.realname from getlist g left join admin_q8 a on g.smob =a.mob自己调试吧,没调试。