
- •Insert, update және delete артықшылықтарын құрылған көрсетімде қолданушы егер сәйкес артықшылықтарын кестелер көрсетілімінде қолданылатын болса ала алады.
- •17.1 Кестесі
- •Insert құқығы кестеге жаңа жолдар қосуға мүмкіндік береді немесе көрсетім кесте немесе көрсетім деңгейінде беріледі; ол баған деңгейінде беріле алмайды.
- •Odbc архитектурасы odbc интерфейсі келесі элементтерді қамтиды:
- •Операторды құру: PreparedStatement класы
- •Item – Parameter нақты обьектісін алу.
- •Connection обьектісі
Append ( Delete ) –көрсетілген коллекцияға параметрлерді қосу(өшіру);
Item – Parameter нақты обьектісін алу.
Parameters коллекциясындағы кейбір Parameter обьектісіне оның реттік нөмірі немесе осы обьекттің
Name қасиетіне берілгенін қолдана отырып сілтеуге болады.
Recordset обьектісі ДҚ-да сұраныстың орындалу нәтижесінде алынған жазбалар жиынын ұсынады. Recordset обьектісін құру кезінде ағымдағы жазба нұсқағышы оның бірінші жазбасына орнатылады (егер ондай болса), ал BOF және EOF қасиеттеріне FALSE мәні беріледі. Егер ешқандай жазба болмаса онда Recordcount қасиетіне 0 мәні беріледі, ал BOF және EOF қасиеттеріне TRUE мәні беріледі. Recordset класы келесі әдісерді қосады:
• MoveFirst, MoveLast, MoveNext, MovePrevious және Move-сәйкес функцияның орындалуын провайдер қолдайтын сөйлемдегі ағымдағы жазба нұсқағышын орналастыруды орындайды. Recordset-тің бір бағытты обьектілерінде тек қана MoveNext әдісі ғана қолданыла алады. Оның басын немес соңын табу үшін нәтижелік жиын жазбалары бойынша орын ауыстыру үшін көрсетілген әдістерді қолдану кезінде Recordset обьектісінің BOF және EOF қасиеттері қолданылуы мүмкін ;
• AddNew, Update, Delete- жаңа жазбаларды қосуды, жаңартуды және ашық обьекттермен байланысқан бар жазбаларды өшіруді қамтамасыз етеді;
• Open ( Close )-командаларды орындаудың нәтижелерін көрсететін курсордың ашылуын(жабылуын) қарастырады.
Fields коллекциясы. Recordset обьектісі Recordset обьектісінің мәліметтер бағанына әрбіреуі сәйкес келетін, Field класының обьекттерінен тұратын Fields коллекциясын қамтиды. Parameter обьектісімен жұмыс жасағандай Fields коллекциясында Field бөлек обьектісіне оның реттік нөмірін немесе атын қолдану арқылы сілтенуге болады.
Connection обьектісі
Сценарийлер тіліндегі ДҚ-мен байланысу мүмкіндігін қарастырайық.
ДҚ-мен жұмыс жасайтын ASP –сценарий ең алдымен оған қосылу керек. Бұдан соң SQL нұсқауларын орындап, жазба жиындарын құруға болады. ДҚ-на қосылуды басқарушы Connection арнайы обьектісі болады.
Connection обьектісі мәліметтер бастауымен байланыс сеансын орнатуға мүмкіндік береді; ол инициализация және байланысты орнату, сұраныстарды орындау, транзакцияларды қолдану үшін механизмнің функционалдануын қамтамасыз етеді.
ДҚ-мен байланыс құру келесі қадамдарды қамтиды:
Алдымен Connection типінің cn айнымалысын құратын Server обьектісінің CreateObject() әдісі шақырылады.
Dim cn
Set cn=Server.CreateObject("ADODB.Connection")
Кейін ODBC провайдерімен байланыс орнату үшін Connection обьектісінің Open әдісін қолдануға болады. Провайдер Provider қасиетін орнату арқылы анықталады. Егер ол әлі анықталмаса, онда үнсіздік бойынша MSDASQL провайдері қолданылады-бұл SQL Server үшін арналған OLE DB Microsoft драйверінің қысқартылған атауы:
cn.provider "MSDASQL"
Содан соң берілген мәліметтер бастауымен байланысты ашатын Connection обьектісінің Open() әдісі шақырылады.
ASP –сценаридегі SQL Server ДҚ-на екі жолмен сілтенуге болады:
Мәліметтер бастауын құру арқылы ( DSN );
Байланысу жолының көмегімен (DSN-ды қолданбай ).
Бірінші жағдайда алдын-ала құрылған mystud атымен мәліметтер бастауы ДҚ-мен байланысуды келесі түрде жүзеге асырады:
cn.open "mystud","user1","123"
бұл жерде Open әдісі үшін ДҚ-ның DSN-ы көрсетіледі, қолданушы аты және құпиясөз.
Екінші жағдайда байланысу жолдары ADO-ға қажетті сыртқы мәліметтер бастауымен байланысуды құру үшін қажетті барлық ақпаратты қамтиды. Мысалға мынадай жол:
"uid=user1;driver={SQL Server};server=its;
database=basa_user1"
жол user1 қолданушы атын және SQL Server-ге арналған драйверді қолдана отырып, its атымен MS SQL Server-де basa_user1 ДҚ-мен байланыс құрады. Егер құпиясөз керек болса, онда pwd=<пароль> жолын қосу қажет:
"uid=user1;pwd=123;driver{SQL Server};
server=its;
database=basa_user1"
мұндай жол сценарий мәтінінде мәліметтер бастауының орнына ДҚ-мен байланысу үшін қажет:
cn.open "uid=user1;driver={SQL Server};
server=its;
database=basa_user1"
немесе
cn.open "uid=user1; pwd=123;
driver={SQL Server};
server=its;database=basa_user1"
API-интерфейсімен жұмыс үстеудің кейбір нақтыламаларын алып тастап, оқытушылық мысал ДҚ-дағы ақпаратты өзгерту және таңдауды орындайтын, серверлік жақ үшін VBScript тілінде кішкене сценарий бөлігін келтіріп кетейік:
Dim cn
Dim rst
Set cn=Server.CreateObject("ADODB.Connection")
Set rst=Server.CreateObject("ADODB.Recordset")
cn.open "uid=user1;pwd=123;
driver={SQL Server};
server=its;database=basa_user1"
rst.open "SELECT аты, типі, бағасы
FROM тауар", cn
do until rst.eof
response.write rst.fields(0)
response.write rst.fields(1)
response.write rst.fields(2) & "<br>"
rst.movenext
loop
18.3. VBScript-сценарийдегі оқушылық ДҚ-на статикалық SQL-сұранысты орындау
18.4 мысалы. VBScript-сценарийдегі оқушылық ДҚ-на динамикалық SQL-сұранысты орындау
Сервердегі мәліметтерді өзгерту динамикалық сұранысын құру үшін Command обьектісін төмендегі параметрлермен қолданамыз.
Dim cn
Dim rst
Dim cmd
Set cn=Server.CreateObject("ADODB.Connection")
Set rst=Server.CreateObject("ADODB.Recordset")
Set cmd=Server.CreateObject("ADODB.Command")
cn.open "uid=user1;pwd=123;
driver={SQL Server};
server=its;database=basa_user1"
Set cmd.ActiveConnection=cn
Dim prm1, prm2
' параметрлерді құру
prm1=Server.CreateObject("ADODB.Parameter")
prm2=Server.CreateObject("ADODB.Parameter")
' динамикалық сұранысты анықтау
cmd.CommandText="update тауар set бағасы=?
where аты=?"
cmd.CommandType=adCmdText
cmd.Prepared=True
' параметр анықталуы сәйкес
' бірінше белгіге ? SQL- сұраныстағы
Set prm1=сmd.CreateParameter("par1",
adInteger, adParamInput, , 160)
' параметр анықталуы сәйкес
' екінші белгіге ? SQL- сұраныстағы
Set prm2=сmd.CreateParameter("par2", adChar,
adParamInput,20 , "Трюфели" )
' параметрлер коллекциясына парметр қосу
cmd.Parameters.Append prm1
cmd.Parameters.Append prm2
' SQL-сұранысты орындау
cmd.Execute
18.4. VBScript-сценарийдегі оқушылық ДҚ-на динамикалық SQL-сұранысты орындау