procedure TForm_szye.ado_szyeP_IDGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
try
ado_temp.Close;
ado_temp.SQL.Clear;
ado_temp.SQL.Add('select purchaser_name from purchaser where purchaser_id='''+sender.AsString+'''');
ado_temp.Prepared;
ado_temp.Open;
text:=ado_temp.Fields[0].Text;
except
end;
end;我在PURCHASER表中有PURCHASER_ID 1至99个时PURCHASER_NAME可以全部显示
但是我如果加到1至100个时,在DBGRID中显示的PURCHASER_NAME中第10个与第100个的PURCHASER_NAME都是第10个的名字,如果是1至110个时,第10,101,102。109都与第10个一样,第11个与第110个一样且同为第11个的内容,怎么办?
DisplayText: Boolean);
begin
try
ado_temp.Close;
ado_temp.SQL.Clear;
ado_temp.SQL.Add('select purchaser_name from purchaser where purchaser_id='''+sender.AsString+'''');
ado_temp.Prepared;
ado_temp.Open;
text:=ado_temp.Fields[0].Text;
except
end;
end;我在PURCHASER表中有PURCHASER_ID 1至99个时PURCHASER_NAME可以全部显示
但是我如果加到1至100个时,在DBGRID中显示的PURCHASER_NAME中第10个与第100个的PURCHASER_NAME都是第10个的名字,如果是1至110个时,第10,101,102。109都与第10个一样,第11个与第110个一样且同为第11个的内容,怎么办?
解决方案 »
- 为什么我老是在D6下装不上INDY9.0
- 如何再DBGRID最后加一行合计?
- 请教 TUDPSocket的使用,请指出错误,为什么无法接受信息?
- 什么 界面控件 漂亮啊! 请推荐一下,谢谢!!
- 请问如何实现双击flash之后,打开自己编的播放器并开始播放?
- 急用,各位请提供个interbase 6.5 下载地址,如果手上有发信息给我,我开FTP给你上传!
- 哪位仁兄能提供IntraWeb的注册机
- 怎么在Query查询结果中修改数据??
- 反回所有的記錄, 過程怎樣寫???
- 请进来看,通过delphi将数据库的内容输出到word的例子(可代替报表哟!),但是有问题!
- 怎么样用ShellExecute在新的IE窗口中打开网址?
- 求考勤管理系统源代码
其次是你所列的数据看
10, 101,102,103 都是以10开头的,
11,110 是以110开头的,这种情况有二,一种是用了模糊查询like,但是你的语句又不是,
所以我怀疑你的PURCHASER_ID是char(2)类型,把他加大看看!
我有一张PURCHASER表,其中有PURCHASER,PURCHASER_ID,TEL,MAIL等字段,另有一张表只有GOODS表,里面有PURCHASER_ID,GOODS_NAME,GOODS_PLACE等字段,上面的代码就是想把GOODS表里面的PURCHASER_ID转换成PURCHASER显示在DBGRID表格里,没有超过100个编号就可以对应,超过了就出现那种问题了
看sender.AsString是什么东西,应该就算101也是变成了10
ado_temp.SQL.Add('select purchaser_name from purchaser where purchaser_id='''+ado_szye.FieldByName('P_ID').AsString+'''');
这个试了一下,还是跟以前一样
DisplayText: Boolean);我也找不到这个是SENDER.ASSTRING是什么,但是删除了那个Sender: TField;又报错
DisplayText: Boolean);
begin
try
ado_temp.Close;
ado_temp.SQL.Clear;
ShowMessage(Sender.AsString); //我的意思是在这里加上这一句,看看如果原本传进来的
//是101的时候,实际上显示出来的是101还是10???
ado_temp.SQL.Add('select purchaser_name from purchaser where purchaser_id='''+sender.AsString+'''');
ado_temp.Prepared;
ado_temp.Open;
text:=ado_temp.Fields[0].Text;
except
end;
end;
Memo1.Lines.Add(sender.AsString);
03
03
03
03
04
05
07
10
11
12
14
15
16
18
19
20
22
23
03
57
57
46
52
53
61
67
68
73
77
79
86
97
98
34
88
57
57
57
57
57
46
52
53
61
67
68
73
77
79
86
97
98
34
88
57
57
57
46
52
53
61
67
68
73
77
79
86
97
98
34
88
57
03
03
03
04
05
07
10
11
12
14
15
16
18
19
20
22
23
24
04
23
24
25
24
25
26
25
26
28
26
28
29
28
29
30
29
30
31
30
31
33
31
33
41
33
41
42
41
42
43
42
43
45
43
45
47
45
47
48
47
48
49
48
49
50
49
50
51
50
51
54
51
54
60
54
60
62
60
62
63
62
63
64
63
64
65
64
65
66
65
66
69
66
69
70
69
70
71
70
71
72
71
72
74
72
74
75
74
75
76
75
76
78
76
78
80
78
80
83
80
83
95
83
95
96
95
96
99
96
99
82
99
82
10
82
10
84
10
84
85
84
85
35
85
35
87
35
87
10
87
10
10
10
10
55
10
55
10
55
10
36
10
36
89
36
89
10
89
10
56
10
56
10
56
10
58
10
58
10
58
10
10
10
10
01
10
01
02
01
02
06
02
06
08
06
08
09
08
09
10
09
10
13
10
13
17
13
17
21
17
21
27
21
27
32
27
32
44
32
44
46
44
46
52
46
52
53
52
53
61
53
61
67
61
67
68
67
68
73
68
73
77
73
77
79
77
79
86
79
86
97
86
97
98
97
98
34
98
34
88
34
88
57
88
57
57
57
57
把你的SQL贴出来看一下,还有GOODS在ADOQUERY的PURCHASE_ID字段是什么类型?
order by p_id
这是ado_szye的SQL与一个DATASOURCE与一个DBGRID连接GOODS表连接,还有一个ADO_TEMP什么都没有,是编写代码的,goods表中的PURCHASER_ID是CHAR(20)
就写你那句简单的SQL,然后放一个TAdoQuery,TDataSource,DBGrid这样连接显示,
如果这样子,你数据库有102的字段,但是显示出来还是10的话,那我也不知道了!