1 Востаннє редагувалося elrin (11.06.2016 10:24:14)

Тема: Перетворення String у Real

Доброго ранку (дня, вечора)!
У мене виникла проблема з додаванням значень Real у базу SQL

begin
          pib:= quotedstr(unit1.Form1.Edit1.Text);
          ipn:= quotedstr(unit1.Form1.Edit2.Text);
           sp:= quotedstr(unit1.Form1.Edit3.Text);
           np:= quotedstr(unit1.Form1.Edit4.Text);
    dilnytsia:= quotedstr(unit1.Form1.Edit5.Text);
       region:= quotedstr(unit1.Form1.Edit6.Text);
     naspunkt:= quotedstr(unit1.Form1.Edit7.Text);
   enterprise:= quotedstr(unit1.Form1.Edit8.Text);

    plosha_ga:= quotedstr(StrToFloat(unit1.Form1.Edit9.Text));
    ngo:= quotedstr(StrToFloat(unit1.Form1.Edit10.Text));

     prymitka:= quotedstr(unit1.Form1.Memo1.Text);
     status:= quotedstr(unit1.Form1.Edit11.Text);

       with Unit2.DataModule2.helpQuery do
         begin
           close;
           SQL.Clear;
           SQL.Add('axec add_vidomist '+pib+', '+ipn+', '+sp+', '+np+', '+dilnytsia+', '+region+', '+naspunkt+', '+enterprise+', '+plosha_ga+', '+ngo+', '+prymitka+', '+status);
           ExecSQL;
           Unit2.DataModule2.qVidomist.Active:= false;
           Unit2.DataModule2.qVidomist.Active:= false;
         end;

Прошу допомоги, шановне паньство!!!
Дякую

2

Re: Перетворення String у Real

SQL.Add('exec add_vidomist '+pib+', '+ipn+', '+sp+', '+np+', '+dilnytsia+', '+region+', '+naspunkt+', '+enterprise+', '+plosha_ga+', '+ngo+', '+prymitka+', '+status);
           

Це ж String, а ви пихаєте в нього plosha_ga, яка є дійсна (хоч і об'явлення змінних не показали, але судячи з

plosha_ga:= quotedstr(StrToFloat(unit1.Form1.Edit9.Text));

то так і  є), те саме стосується і ngo

Костиль-варіант буде такий

SQL.Add('exec add_vidomist '+pib+', '+ipn+', '+sp+', '+np+', '+dilnytsia+', '+region+', '+naspunkt+', '+enterprise+', '+FloatToStr(plosha_ga)+', '+FloatToStr(ngo)+', '+prymitka+', '+status);
           
x
Подякували: elrin1

3

Re: Перетворення String у Real

Я не великий фахівець з SQL, але мені здається, що в запиті замість

axec 

має бути

exec
Говорила баба діду: «Я поїду к Білодіду, Ізучу двомовну мову І вернусь обратно знову». А дід бабі: «Не *изди, К Білодіду нєт їзди, — Туди не ходять поїзди»
Подякували: elrin, 221VOLT, leofun013

4 Востаннє редагувалося elrin (11.06.2016 17:28:49)

Re: Перетворення String у Real

Запрацювало ось так:

plosha_ga:= StrToFloat(quotedstr(unit1.Form1.Edit9.Text));

Однак, при імпорті 37 тис. записів і подальшій прокрутці - трохи гальмує *PARDON*
Використав костиль-варіант :)

Подякували: 0xDADA11C71

5

Re: Перетворення String у Real

що це за субд, що це за код?
якщо не секрет :)

https://blog.clever-games.win/
Це ще не кінець. Це навіть не початок кінця. Але, можливо, це кінець початку.
Зростання мудрості можна точно вимірювати ступенем зменшення злоби.
Подякували: koala, leofun012

6

Re: Перетворення String у Real

elrin написав:

Однак, при імпорті 37 тис. записів і подальшій прокрутці - трохи гальмує *PARDON*

По-перше, ваш код витягає дані з форми. Ви вручну вводите 37 тисяч запитів і скаржитеся на гальма під час цього? Чи ви деінде завантажуєте дані в форму, а потім з форми надсилаєте в базу, і так 37 тисяч разів? Якщо не виводити на форму, все буде працювати швидше.
По-друге, що значить "подальша прокрутка"?

Подякували: 0xDADA11C7, leofun01, elrin3

7

Re: Перетворення String у Real

База MSSQL 2008.
Я створив просту форму для введення і пошуку даних. А саму інформацію імпортнув у базу. Нічого особливого там немає. Мені потрібен був доступ для кількох користувачів. Імпорт провів із EXEL 2016.
два ствобці у табл. мають числове значення - інші текстові.

Подякували: 221VOLT1

8

Re: Перетворення String у Real

koala написав:
elrin написав:

Однак, при імпорті 37 тис. записів і подальшій прокрутці - трохи гальмує *PARDON*

По-перше, ваш код витягає дані з форми. Ви вручну вводите 37 тисяч запитів і скаржитеся на гальма під час цього? Чи ви деінде завантажуєте дані в форму, а потім з форми надсилаєте в базу, і так 37 тисяч разів? Якщо не виводити на форму, все буде працювати швидше.
По-друге, що значить "подальша прокрутка"?

так, тут мій костиль, оскільки витягую усю інформацію при старті програми.
прокрутка - мишом тягну вниз до кінця таблиці. (гальма полягають в цьому, все інше летить норм.)

9

Re: Перетворення String у Real

Вибачте, ще уточню: у вас таблиця на 37 тисяч рядків гальмує при прокрутці, а код, який ви навели, не має до цього стосунку?

Подякували: leofun011

10

Re: Перетворення String у Real

koala написав:

Вибачте, ще уточню: у вас таблиця на 37 тисяч рядків гальмує при прокрутці, а код, який ви навели, не має до цього стосунку?

Так, я запитав саме про код, оскільки нахомутав з типами даних та їх перетворенням.