Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Чтоб не "гадить" на форуме... Добавлено: 18.07.07 09:13  

Автор вопроса:  fuzytsfcrew | Web-сайт: video-edit.com.ua | ICQ: 314339 
Хочу научиться работать с АДО без контролов на форме. В ВБ при работе с АДО есть такие "штуки" как: Recordsource, recordset, execute. Каждая из них может работать с sql операторами. но что каждая из них значит я запутался. recordset - это вроде бы набор записей, получившихся в результате запроса. если я укажу recordsource "SELECT......" для нового конекта у него автоматом будет такой же recordset? Можно както по полкам разложить? Понятно, что сразу нужно объявить конект и т.п.

dim con as ADODB.Coneection
set con = new ADODB.conection
conectionstring = "Provider=Microsoft.Jet........"
con.Open conectionstring


А потом чего делать? что теперь объявлять или присваивать - Recordsource или recordset? или вообще Execute у конекта делать?

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #1 Добавлено: 18.07.07 10:40
Вот упрощенный вариант выборки из базы взятый из моего проекта.

Public Sub UpdateProjects()
Dim objConn As ADODB.Connection
Dim rsRecordset As ADODB.Recordset
Dim lngID As Long
    Set objConn = CreateObject("ADODB.Connection";)
    Set rsRecordset = CreateObject("ADODB.Recordset";)
    objConn.Mode = adModeRead
    objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db.mdb"
    objConn.Open
    Set rsRecordset = objConn.Execute("SELECT id FROM projects WHERE ...";)
    Do Until rsRecordset.EOF
        lngID = rsRecordset("id";).Value
        MsgBox lngID
        rsRecordset.MoveNext
    Loop
    rsRecordset.Close
    objConn.Close
    Set rsRecordset = Nothing
    Set objConn = Nothing
End Sub

Ответить

Номер ответа: 2
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #2 Добавлено: 18.07.07 10:49
В ссылках (проект->ссылки...) подключено Microsoft ActiveX Data Objects 2.7 Library
Я пользуюсь 2.7, кстати, может есть что-нибудь получше?

Ответить

Номер ответа: 3
Автор ответа:
 Millenium



ICQ: 629966 

Вопросов: 118
Ответов: 903
 Web-сайт: www.aliyev.us
 Профиль | | #3
Добавлено: 18.07.07 12:28
По лучше? Заход ина http://www.experts-exchange.com/Programming/Programming_Languages/Visual_Basic/VB_Databases/Q_21037603.html

Ответить

Номер ответа: 4
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #4 Добавлено: 18.07.07 14:02
RA (Millenium), мож у меня с англиским плохо, но ниче кроме ADODB я там ненашел. Только трафф потратил =(

Ответить

Номер ответа: 5
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #5 Добавлено: 18.07.07 18:05
..объявлять или присваивать - Recordsource или recordset?


Recordsource - этого нет в ADODB.


Dim cnn As ADODB.Connection
Dim rec As ADODB.Recordset
Dim cmd As ADODB.Command


Вот объекты могут выполнять SQL-запросы.
сnn.Execute()
cmd.Execute()
rec.Open()

Execute - это функция, и значит она что-то возвращает. А возвращает она объект набора записей(рекордcет), если конечно правильный синтаксис SQL и сnn.State=1.

Set rec = сnn.Execute(..) - присваивает переменной rec возвращенное значение. Для чего?
Видимо для удобства перемещения по записям. (rec.movenext... итд)
Но нужно ли это, например, для запросов INSERT или UPDATE?
Или вот: GetRows() - эта функция возвращает массив
Variant.

dim ar() as Variant

ar()=rec.GetRows() - зачем лишняя переменная rec?
ar()=cnn.Execute("SELECT...";).GetRows()

























Ответить

Номер ответа: 6
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #6 Добавлено: 21.07.07 15:55
пробельчики удаляем, да?

открой примеры, там есть неплохие по работе с базами. на vbrussian.com тоже ниче

Ответить

Номер ответа: 7
Автор ответа:
 Millenium



ICQ: 629966 

Вопросов: 118
Ответов: 903
 Web-сайт: www.aliyev.us
 Профиль | | #7
Добавлено: 24.07.07 10:51
в MSDN есть такое:
Microsoft ActiveX Data Objects 2.7 Library Coding Sample

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам