matinebi
شنبه 31 مرداد 1388, 08:33 صبح
میخوام به جای این کد
if Length(arr) > 0 then
Str1 := 'Where no_ghate like ' + quotedStr('%' + arr[0] + '%' ) ;
for i:= 1 to High(arr) do
Str1 := Str1 + ' or no_ghate like ' + quotedStr('%' + arr[i] + '%' ) ;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from kala');
ADOQuery1.SQL.Add(Str1);
ADOQuery1.open;
از کد
if Length(arr) > 0 then
Str1 := 'Where no_ghate = ' + quotedStr( arr[0] ) ;
for i:= 1 to High(arr) do
Str1 := Str1 + ' or no_ghate = ' + quotedStr( arr[i] ) ;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from kala');
ADOQuery1.SQL.Add(Str1);
ADOQuery1.open;
استفاده کنم
کد اول درست عمل میکنه ولی من به like نیاز ندارم باید حتمی از = استفاده کنم
مشکل:در کد دوم زمانی که آرایه یک کالا داشته باشد هیچ فیلدی برنمیگردونه زمانی که دو تا کالا داشته باشد کالای اولی رو برمیگردونه زمانی که سه تا کالا داشته باشد دو تای اولی رو برمیگردونه به همین ترتیب....
مشکل کجاست
لطفا راهنمایی کنید
if Length(arr) > 0 then
Str1 := 'Where no_ghate like ' + quotedStr('%' + arr[0] + '%' ) ;
for i:= 1 to High(arr) do
Str1 := Str1 + ' or no_ghate like ' + quotedStr('%' + arr[i] + '%' ) ;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from kala');
ADOQuery1.SQL.Add(Str1);
ADOQuery1.open;
از کد
if Length(arr) > 0 then
Str1 := 'Where no_ghate = ' + quotedStr( arr[0] ) ;
for i:= 1 to High(arr) do
Str1 := Str1 + ' or no_ghate = ' + quotedStr( arr[i] ) ;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from kala');
ADOQuery1.SQL.Add(Str1);
ADOQuery1.open;
استفاده کنم
کد اول درست عمل میکنه ولی من به like نیاز ندارم باید حتمی از = استفاده کنم
مشکل:در کد دوم زمانی که آرایه یک کالا داشته باشد هیچ فیلدی برنمیگردونه زمانی که دو تا کالا داشته باشد کالای اولی رو برمیگردونه زمانی که سه تا کالا داشته باشد دو تای اولی رو برمیگردونه به همین ترتیب....
مشکل کجاست
لطفا راهنمایی کنید