GreyC
User
 Fresh Boarder
| Posts: 2 |   | Karma: 0 |
|
Проблема с Locate
|
|
Posted: 2008/03/06 11:02 |
|
|
|
|
AnyDAC v 1.12.2 MySQL v 5.0.51a
Проблема такая - есть таблица
CREATE TABLE `test`.`test_table` (
`id` int(10) unsigned NOT NULL auto_increment,
`testfield` varchar(45) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
insert into test_table(testfield) values ('А'), ('Абрикос'), ('Б'), ('Бинокль'), ('В'), ('Винт');
|
в программе есть код
ADConnection1.Open;
ADQuery1.SQL.Text:='select testfield from test_table order by 1';
ADQuery1.Open;
ADQuery1.IndexFieldNames:='testfield:A';
if ADQuery1.Locate('testfield', 'би', [loPartialKey, loCaseInsensitive]) then
ShowMessage(ADQuery1.Fields[0].AsString);
ADQuery1.IndexFieldNames:='testfield:D';
if ADQuery1.Locate('testfield', 'би', [loPartialKey, loCaseInsensitive]) then
ShowMessage(ADQuery1.Fields[0].AsString);
|
Первый ShowMessage выдает 'Б'
Второй ShowMessage выдает 'Бинокль'
По идее, во обоих случаях должно быть 'Бинокль'. В чем может быть проблема?
|
|