delphi连数据库问题,急

diannaomingong 2007-01-23 01:35:38
我用delphi连ACESS数据库,代码如下
function TForm1.fireerror(channel:integer):bool;
begin
if error='否' then result:=true else
begin
adoquery2.Parameters.parambyname('channel').value:=channel;
adoquery2.Parameters.parambyname('shuiping').value:=strtoint(shuiping[channel]);
adoquery2.Parameters.parambyname('shuiping2').value:=strtoint(shuiping[channel]);
adoquery2.Parameters.parambyname('fuyang').value:=strtoint(fuyang[channel]);
adoquery2.Parameters.parambyname('fuyang2').value:=strtoint(fuyang[channel]);
ADOQuery2.open;
ADOQuery2.First;
if not ADOQuery2.Eof then result:=false else result:=true;
end;

SQL语句是select * from error where 云台=:channel and 终止水平角>=:shuiping and 起始水平角<=:shuiping2
and 起始俯仰角<=:fuyang and 终止俯仰角>=:fuyang2

这个程序在我机子上可以运行,在另一台机子上根本不读取数据库。那台机子可以用delphi 连接其他ACESS数据库。请问为什么?有什么原因会导致这种事情呢,请指点下谢谢
...全文
304 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
deansroom 2007-01-25
  • 打赏
  • 举报
回复
我写了一个你看一下
我用的是ACCESS2003+D7
unit Conn;

interface

uses
SysUtils, Windows, Messages, Variants, Forms, Dialogs, DB, ADODB, IniFiles;

procedure SetADOConnection(ADOConnection1: TADOConnection);

implementation
var
myinifile:Tinifile;

procedure SetADOConnection(ADOConnection1: TADOConnection);
var
password,servername,user,databasename:string;
begin

{myinifile:=Tinifile.create (ExtractFilePath (
Application.ExeName) + 'inc/conn.ini');
password:= myinifile.readString('conn','password',password);
servername:= myinifile.readString('conn','servername',servername);
user:= myinifile.readString('conn','user',user);
databasename:= myinifile.readString('conn','databasename',databasename);
myinifile.Free;}
ADOConnection1.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=data\pddy.mdb;Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
try
adoconnection1.LoginPrompt:=False;
ADOConnection1.Connected := True;
except
Application.MessageBox('连接失败,请检查服务器配置是否正确!','提示',MB_OK+MB_ICONINFORMATION);
Application.Terminate;
end;
end;
hfltp 2007-01-24
  • 打赏
  • 举报
回复
你是不是用的绝对路径
改成相对路径应该可以
windplume 2007-01-24
  • 打赏
  • 举报
回复
定义一个AppPath.

AppPath := ExtractFilePath(Application.ExeName); //获取程序启动路径

数据库的连接字符串access文件路径要加上AppPath。
jianke5555 2007-01-23
  • 打赏
  • 举报
回复
数据库文件COPY过去没有?路径有没有问题.把代码在另一台机上单步调试一下.
紫色田园 2007-01-23
  • 打赏
  • 举报
回复
最直接的方法是把源程序放到出问题的机子上,调试一下吧。
hongqi162 2007-01-23
  • 打赏
  • 举报
回复
估计是连接字符串的问题,是不是access的路径发生变了
jerry8 2007-01-23
  • 打赏
  • 举报
回复
用INI
yi10000 2007-01-23
  • 打赏
  • 举报
回复
你看看连接串

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧