我在程序连数据库的时候,只有一部分表的数据能搜出来,多数都搜不出来,都有什么可能,我的程序事从我朋友那里复制过来的,现在他的全部都能搜出来,请高手指点!!!

解决方案 »

  1.   

    有!! 朋友都能搜出来!
    sql server 2000
      

  2.   

    用sql的查询分析器看看你要查询的表里是不是有数据,通常这种情况是你马虎所致
      

  3.   

    谢谢大家了,数据库里面有表,我得权限也够!!我是丛朋友那里拽过来的delphi程序,存放的文件夹不同,他得可以,我以运行就报错,不能读取servername的值,我得把注册表那段代码注释调才能运行,但是就搜不出来数据了,朋友得如果把那段代码注释调也搜不出来,肯定是那段代码得问题,不好意思,早上我没有把问题说明白,害的大家费心了!
      

  4.   

     {if not ReadRegister(C_KEY, REG_NAME_SVR, Server_name) then //服务器信息
          Exit;
        if not ReadRegister(C_KEY, REG_NAME_DB, DB_name) then //数据库信息
          Exit;
        if not ReadRegister(C_KEY, REG_NAME_DB_UID, User_name) then //用户名
          Exit;
        if not ReadRegister(C_KEY, REG_NAME_DB_PWD, Pass_word) then //口令
          Exit;
        if not ReadRegister(C_KEY, REG_NAME_UID, Last_EID) then //最后登陆人
          Exit;
        if not ReadRegister(C_KEY, LOGINSET_LocalC_ST, LocalC_ST) then //站点代码
          Exit;   }
        //获得当前工作站信息,包括机器名,IP等
        try
          GetWorkstationInfo(PCName, IPAddress);
          //如果当前位工作站,则同步时间
          if uppercase(Trim(PCName)) <> uppercase(Trim(Server_name)) then
            ShellExecute(handle, 'open', 'net', pchar(' time \\' + Server_name +
              ' /set /y'), '', SW_HIDE);
        except
        end;
        //创建数据窗体
        Application.CreateForm(TDMMain, DMMain);
        {//连接本地银行目录数据
         DMMain.ConnectLocalDb;}
        //根据注册表存储的信息连接数据库
        if not DMMain.ConnectDb(Server_name, Db_name, User_name, Pass_word) then
          Exit;
        //构建 LoginSet
        LoginSet := TStringList.create;
        LoginSet.Add(LOGINSET_EMPLOYEEID + '=' + Last_EID);
        LoginSet.Add(LOGINSET_LocalC_ST + '=' + LocalC_ST);
        Sleep(3000);
        Hide;
        //显示登陆界面
        if LoginAndConfirm(1, LoginSet) then
        begin
          Show;
          Update;
          User_name := LoginSet.Values[LOGINSET_DBUSERBANE + '1'];
          Pass_word := LoginSet.Values[LOGINSET_DBPASSWORD + '1'];
          ////在注册表中记录最后登陆人
          WriteRegister(C_KEY, REG_NAME_UID, LoginSet.Values[LOGINSET_EMPLOYEEID]);
          //根据获得的数据库用户重新连接数据库
          if not DMMain.ConnectDb(Server_name, Db_name, User_name, Pass_word) then
            Exit;
          //创建主窗体
          Application.CreateForm(TFMMain, FMMain);
          Result := true;
        end;没问题,我大括号括起来那部分注释就是我要运行程序需要注释掉的!
      finally
        Free;
      end;
      

  5.   

    上面的代码有问题. 你这并不是搜索的相关只是, 只是连接到数据库的代码.如果不是administrators 组的用户, 没有时间更时间, 没有权限写HKEY_LOCAL_MACHINE下面的权限.