我用delphi和sql做了一个程序,哪位大是帮我看看还有哪些错错误,我的程序有一两个功能还不能实现 如题,可以留下你的联系方式 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一个是修改数据库的时候,无法添加,还有就是数据库备份可以,但还原就会出错。我把代码贴出来,大家帮我看看。procedure Tmain.SpeedButton1Click(Sender: TObject);begin adoq_Logistic.Close; adoq_Logistic.SQL.Clear; adoq_Logistic.SQL.Add('insert into c_Logistic([变量名称],[变量分类],[系数],[权重],[备注]) values(:p0,:p1,:p2,:p3,:p4)' ); adoq_Logistic.Parameters.ParamByName('p0').Value:= edit20.Text; adoq_Logistic.Parameters.ParamByName('p1').Value:= edit21.Text; adoq_Logistic.Parameters.ParamByName('p2').Value:= strtofloat(edit22.Text); adoq_Logistic.Parameters.ParamByName('p3').Value:= edit23.Text; adoq_Logistic.Parameters.ParamByName('p4').Value:= edit24.Text; adoq_Logistic.ExecSQL;end;上面是往数据库添加数据。procedure Tmain.SpeedButton14Click(Sender: TObject);begin if edit17.Text='' then begin MessageDlg('请选还原文件!',mtInformation,[mbok], 0); end else begin Label46.Caption:='请选择要还原的数据:'+'正在还原数据......'; if Label46.Caption='请选择要还原的数据:'+'正在还原数据......' then begin Screen.Cursor:=crHourGlass; // Data.ADOCon.Connected:=false; ADO_back.Close; ADO_back.SQL.Clear ; ADO_back.SQL.Add('Use Master'); ADO_back.SQL.Add('ALTER DATABASE credit SET OFFLINE WITH ROLLBACK IMMEDIATE'); ADO_back.SQL.Add('RESTORE DATABASE credit') ; ADO_back.SQL.Add('FROM disk='''+edit17.Text+''''); ADO_back.SQL.Add('ALTER DATABASE credit SET ONLINE WITH ROLLBACK IMMEDIATE'); try ADO_back.ExecSQL; MessageDlg('还原成功,请重启系统!',mtInformation,[mbok], 0); Label46.Caption:='请选择要还原的数据:'; Screen.Cursor:=crDefault; main.close; except MessageDlg('还原失败!',mtInformation,[mbok], 0); Label46.Caption:='请选择要还原的数据:'; Screen.Cursor:=crDefault; end; end; end;end;上面是还原的代码,我点数据库还原后,一开始会显示还原成功,我再按确定,就显示还原失败了。各位大虾,谁有时间帮我远程弄一下,我都弄了好几天,还没有找出来原因! 高位为1的“:”是0xba,这里好像没有改为动态生成完整的sql字符串,执行试一试? Delphi如何实现打印 PPT 文件? 输出为csv文件打开后'00000'变成'0' ?? WebBrowser的问题 有没有人给讲一下Delphi里的GUID是什么东东?用到什么地方? 数据库连接问题 新手问题 如何把一表中内容调入一空表中? 请问怎样把"地区资料"的数据库表和Treeview控件相联系?(如速达财务的地区资料) 如何控制另一程序的某个控件执行它的默认操作! 关于DELPHI和网络的问题 windows NT 4.0 SP6 平台下 安装 DELPHI6 总是失败 TREEVIEW一个很奇怪的问题
procedure Tmain.SpeedButton1Click(Sender: TObject);
begin
adoq_Logistic.Close;
adoq_Logistic.SQL.Clear;
adoq_Logistic.SQL.Add('insert into c_Logistic([变量名称],[变量分类],[系数],[权重],[备注]) values(:p0,:p1,:p2,:p3,:p4)' );
adoq_Logistic.Parameters.ParamByName('p0').Value:= edit20.Text;
adoq_Logistic.Parameters.ParamByName('p1').Value:= edit21.Text;
adoq_Logistic.Parameters.ParamByName('p2').Value:= strtofloat(edit22.Text);
adoq_Logistic.Parameters.ParamByName('p3').Value:= edit23.Text;
adoq_Logistic.Parameters.ParamByName('p4').Value:= edit24.Text;
adoq_Logistic.ExecSQL;end;
上面是往数据库添加数据。
procedure Tmain.SpeedButton14Click(Sender: TObject);
begin
if edit17.Text='' then
begin
MessageDlg('请选还原文件!',mtInformation,[mbok], 0);
end
else
begin
Label46.Caption:='请选择要还原的数据:'+'正在还原数据......';
if Label46.Caption='请选择要还原的数据:'+'正在还原数据......' then
begin
Screen.Cursor:=crHourGlass; // Data.ADOCon.Connected:=false;
ADO_back.Close;
ADO_back.SQL.Clear ;
ADO_back.SQL.Add('Use Master');
ADO_back.SQL.Add('ALTER DATABASE credit SET OFFLINE WITH ROLLBACK IMMEDIATE');
ADO_back.SQL.Add('RESTORE DATABASE credit') ;
ADO_back.SQL.Add('FROM disk='''+edit17.Text+'''');
ADO_back.SQL.Add('ALTER DATABASE credit SET ONLINE WITH ROLLBACK IMMEDIATE');
try
ADO_back.ExecSQL;
MessageDlg('还原成功,请重启系统!',mtInformation,[mbok], 0);
Label46.Caption:='请选择要还原的数据:';
Screen.Cursor:=crDefault;
main.close;
except
MessageDlg('还原失败!',mtInformation,[mbok], 0);
Label46.Caption:='请选择要还原的数据:';
Screen.Cursor:=crDefault;
end;
end;
end;
end;
上面是还原的代码,我点数据库还原后,一开始会显示还原成功,我再按确定,就显示还原失败了。各位大虾,谁有时间帮我远程弄一下,我都弄了好几天,还没有找出来原因!