# Native Code > برنامه نویسی در Delphi > بانک های اطلاعاتی در Delphi > سوال: سمیکالن بصورت پیش فرض

## majid534

سلام و وقت دوستان بخیر

sbatch1:variant;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select Max (AAA) From BBB');
ADOQuery1.SQL.Add('Inner join GGG on CCC = DDD');
ADOQuery1.SQL.Add('Where EEE=16 and FFF='+Edit16.Text);
ADOQuery1.Open;
sbatch1 := ADOQuery1.Fields[0].AsVariant;
Label34.Caption := sbatch1;

مشکل اینجاست که ادیت باکس16 که بالا هست متن داخلش باید تو سمیکالن باشه تا کوئری درست اجرا بشه ....

راهکاری هست ؟

ممنون از دوستان

----------


## یوسف زالی

سلام. اسم اون سمی کالن نیست، کوتیشنه.
بگذاریدش داخل QuotedStr
می تونید خودتون دستی قبل و بعدش کوتیشن اضافه کنید

----------


## fahimi

از پارامتر استفاده  شود مطمئن تر و اصولی تر است 
 
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('INSERT INTO Country (Name, Capital, Continent, Area, Population)');
ADOQuery1.SQL.Add('VALUES (:Name, :Capital, :Continent, :Area, :Population)');

ADOQuery1.Parameters.ParamByName('Name').Value := 'SomePlace';
ADOQuery1.Parameters.ParamByName('Capital').Value := 'Pitsville';
ADOQuery1.Parameters.ParamByName('Continent').Valu  e := 'Floating';
ADOQuery1.Parameters.ParamByName('Area').Value := 1234;
ADOQuery1.Parameters.ParamByName('Population').Val  ue := 56;
ADOQuery1.ExecSQL;
ADOQuery1.Close;

// Open it to read the data back
ADOQuery1.SQL.Text := 'SELECT * FROM Country WHERE Name = :Name';
ADOQuery1.Parameters.ParamByName('Name').Value := 'SomePlace';
ADOQuery1.Open;
ShowMessage(ADOQuery1.FieldByName('Name').AsString  );
ADOQuery1.Close;

----------

