Cum se face că dreptul de a scrie interogare SQL în Delphi ()
Cum se face că dreptul de a scrie o interogare SQL în Delphi? (+)
Bună ziua, dragă balenă!
Cățără întregul site, dar nu a găsit răspunsul aici este întrebarea.
s1 - variabilă string (interogări de baze de date)
ComboBox4.Text - valoare pentru a rafina interogarea.
s1: = „* selectați din cititori în cazul în care codul“;
ComboBox4.Text ia valorile (de exemplu): română, engleză
Prin alegerea caseta combo este necesar pentru a afișa date numai de la valoarea selectată.
ADOQuery1.SQL.Add ( "SELECT * FROM CITITORI WHERE COD =");
Cauza ComboBox4.ItemIndex de
0: ADOQuery1.SQL.Add ( "* selectați din CITITORI în cazul în care CODE =" + ComboBox4.Text);
1: ADOQuery1.SQL.Add ( "* selectați din CITITORI în cazul în care CODE =" engleză „);
se încheie;
ADOQuery1.Active: = true;
Din păcate, aceasta nu funcționează în primul caz, nici a doua.
În prima (urme capturat) interogare arată
„Select * de la cititori în cazul în care codul = românesc“ - ceea ce este sintaxa greșită.
În al doilea eșuează, deoarece limba engleză în linia nu este percepută ca o valoare în apostrofuri.
A încercat și un t-Var - (Selectați * de la cititori în cazul în care codul = „română“) - Delphi jură că nici o coloană de română.
Cum se poate scrie corect? Cum de a conduce caracterele apostrof într-o variabilă șir de caractere?
ADOQuery1.SQL.Add ( "SELECT * FROM CITITORI UNDE COD =: CODE");
Cauza ComboBox4.ItemIndex de
. 0: ADOQuery1.ParamByName ( "CODE") asString: = "română";
1: ADOQuery1.ParamByName ( "CODE") asString: = "engleză" ;.
se încheie;
ADOQuery1.SQL.Add ( "* selectați din CITITORI în cazul în care CODE =" "" + ComboBox4.Text + "" "");
Că denim
Ei bine, sunt într-adevăr destul de insolent. F1 pentru cineva inventat. Ce face cererea și orice altceva. Acesta este doar un caz special.
Trebuie să scrie acest lucru:
Cauza ComboBox4.ItemIndex de
Cauza ComboBox4.ItemIndex de
0: ADOQuery1.SQL.Add ( "* selectați din CITITORI în cazul în care CODE =" "" + ComboBox4.Text + "" "");
1: ADOQuery1.SQL.Add ( "* selectați din CITITORI în cazul în care CODE =" "Engleză", "");
Puteți, de exemplu, vospolzovatsya Cro, numai că nu e încă corect. Acesta va fi corect după cum urmează:
Query.SQL.Clear;
Query.SQL.Add ( "SELECT * FROM CITITORI UNDE COD =: Langv");
în cazul în care. atunci
. Query.ParamByName ( "Langv") AsString: = "română";
Mult noroc tuturor, și codul fără probleme :)