D7自定义过程与数据库QUERY组件不能识别的问题

小黑学DELPHI 2022-06-30 16:34:25

 各位大神,帮忙看下。为什么定义的过程不识别这个UNIQUERY1.

procedure Paramset(strlist:TStrings);
var
a: array of string;
strlist:TStrings;
i,j:Integer;
begin
    setlength(a,11);
    for i := 0 to length(a) do
        begin
        a[i]:='';
        end;
    for j:= 0 to strlist.count-1 do
        begin
        a[j]:=strlist[j];
        end;
    uniquery1.close;
    uniquery1.parambyname('P1').asstring:=a[0];
    uniquery1.parambyname('P15').asstring:=a[14];
    unquery1.open;
end;

感谢各位大佬

...全文
90 15 打赏 收藏 举报
写回复
15 条回复
切换为时间正序
请发表友善的回复…
发表回复

公司:合肥高新区某网络科技股份有限公司(公司有保密需求在这里不方便写全称请谅解)
招聘岗位:Delphi开发工程师
要求:1、计算机相关专业,本科及以上学历,2-3年Delphi编程经验,可接受实习生或应届生;
2、基础扎实,熟悉线性表、树等基本数据结构及其算法;
3、熟悉VCL 控件使用方法,熟悉FASTREPORT控件;
4、熟悉面向对象编程
5、熟悉TCP/IP通讯原理、Socket网络编程与多线程编程;
6、熟练使用SVN版本管理工具;
7、有一定的独立问题分析与解决能力,具有较强的责任感和良好的沟通协调能力,工作态度积极主动,责 任心强;

薪资:根据技术经验和能力来定,大概范围在10K-20K
工作时间:7.5小时*5天(双休)。很少加班,如因工作紧急需求领导要求加班,可抵调休。
工作地点:合肥高新区
简历投递邮箱:keyssvip@163.com
qq:710260378(加好友请注明Delphi字样否则不予通过)

  • 打赏
  • 举报
回复

根本就是你拼写错误么。
你仔细看“unquery1.open”,是不是拼错了,少个 i ?

  • 打赏
  • 举报
回复
@墨梅无痕 哈哈是的,但是问题不是出现在这。谢谢 我知道这个问题怎么做了。已经按照下面大佬处理了
  • 举报
回复
tanqth 07-01

img


这个,错了。你既然在FROM里定义了
procedure Paramset(strlist:TStrings);
那么,在这里就应该是:
procedure TForm1.Paramset(strlist:TStrings);

而且,你这样的定义,理论上编译时就会报错的啊。

  • 打赏
  • 举报
回复
@tanqth 谢谢大佬 明白了
  • 举报
回复

procedure Paramset是全局函数,它里面是看不见在TForm1里定义的uniquery1的,解决方法有两种:
一是把Paramset改成TForm1的方法
二是在Paramset中使用全作用域:Form1.uniquery1

  • 打赏
  • 举报
回复 1
@日立奔腾浪潮微软松下联想 谢谢大佬
  • 举报
回复
tanqth 06-30

你需要确定你的uniquery1在什么地方定义的,你的这个过程,不属于任何窗体,也没看到你这过程是否有定义,所以,他可能是找不到对应的uniquery1。

  • 打赏
  • 举报
回复
@tanqth type TForm1 = class(TForm) RzDBCheckBoxGroup1: TRzDBCheckBoxGroup; RzBitBtn1: TRzBitBtn; RzBitBtn2: TRzBitBtn; RzBitBtn3: TRzBitBtn; UniConnection1: TUniConnection; SQLServerUniProvider1: TSQLServerUniProvider; UniQuery1: TUniQuery; UniDataSource1: TUniDataSource; CheckListBox1: TCheckListBox; RzBitBtn4: TRzBitBtn; RzBitBtn5: TRzBitBtn; RzBitBtn6: TRzBitBtn; RzDBCheckBoxGroup2: TRzDBCheckBoxGroup; RzBitBtn7: TRzBitBtn; RzBitBtn8: TRzBitBtn; RzBitBtn9: TRzBitBtn; CheckListBox2: TCheckListBox; RzBitBtn10: TRzBitBtn; RzBitBtn11: TRzBitBtn; RzBitBtn12: TRzBitBtn; UniQuery2: TUniQuery; UniDataSource2: TUniDataSource; UniQuery3: TUniQuery; UniDataSource3: TUniDataSource; UniQuery4: TUniQuery; UniDataSource4: TUniDataSource; RzBitBtn13: TRzBitBtn; procedure RzBitBtn3Click(Sender: TObject); procedure RzBitBtn1Click(Sender: TObject); procedure RzBitBtn2Click(Sender: TObject); procedure RzBitBtn4Click(Sender: TObject); procedure RzBitBtn5Click(Sender: TObject); procedure RzBitBtn6Click(Sender: TObject); procedure RzBitBtn7Click(Sender: TObject); procedure RzBitBtn8Click(Sender: TObject); procedure RzBitBtn9Click(Sender: TObject); procedure RzBitBtn10Click(Sender: TObject); procedure RzBitBtn12Click(Sender: TObject); procedure RzBitBtn13Click(Sender: TObject); procedure Paramset(strlist:Tstrings); end;
  • 举报
回复 1
@小黑6688as 定义在FORM1里了
  • 举报
回复

报错提示缺少 uniquery1,界面上放个TUniQuery组件并命名为uniquery1就可以,或者动态创建一个 TUniQuery 组件。

  • 打赏
  • 举报
回复 1
@天行归来 type TForm1 = class(TForm) RzDBCheckBoxGroup1: TRzDBCheckBoxGroup; RzBitBtn1: TRzBitBtn; RzBitBtn2: TRzBitBtn; RzBitBtn3: TRzBitBtn; UniConnection1: TUniConnection; SQLServerUniProvider1: TSQLServerUniProvider; UniQuery1: TUniQuery; UniDataSource1: TUniDataSource; CheckListBox1: TCheckListBox; RzBitBtn4: TRzBitBtn; RzBitBtn5: TRzBitBtn; RzBitBtn6: TRzBitBtn; RzDBCheckBoxGroup2: TRzDBCheckBoxGroup; RzBitBtn7: TRzBitBtn; RzBitBtn8: TRzBitBtn; RzBitBtn9: TRzBitBtn; CheckListBox2: TCheckListBox; RzBitBtn10: TRzBitBtn; RzBitBtn11: TRzBitBtn; RzBitBtn12: TRzBitBtn; UniQuery2: TUniQuery; UniDataSource2: TUniDataSource; UniQuery3: TUniQuery; UniDataSource3: TUniDataSource; UniQuery4: TUniQuery; UniDataSource4: TUniDataSource; RzBitBtn13: TRzBitBtn; procedure RzBitBtn3Click(Sender: TObject); procedure RzBitBtn1Click(Sender: TObject); procedure RzBitBtn2Click(Sender: TObject); procedure RzBitBtn4Click(Sender: TObject); procedure RzBitBtn5Click(Sender: TObject); procedure RzBitBtn6Click(Sender: TObject); procedure RzBitBtn7Click(Sender: TObject); procedure RzBitBtn8Click(Sender: TObject); procedure RzBitBtn9Click(Sender: TObject); procedure RzBitBtn10Click(Sender: TObject); procedure RzBitBtn12Click(Sender: TObject); procedure RzBitBtn13Click(Sender: TObject); procedure Paramset(strlist:Tstrings); end;
  • 举报
回复
@天行归来 有的。
  • 举报
回复
展开其他2条回复
相关推荐
发帖
Delphi

5122

社区成员

Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
帖子事件
创建了帖子
2022-06-30 16:34
社区公告
暂无公告