|
|
|
можно ли без recordset-а
|
|||
|---|---|---|---|
|
#18+
Добрый день еще раз. Вот код авторDim objConnection Dim strConnectionString Dim strSQL Dim objCommand Set objConnection = CreateObject("ADODB.Connection") Set objCommand = CreateObject("ADODB.Command") strConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=data_saver;Data Source=mypc\myserver" objConnection.ConnectionString = strConnectionString objConnection.Open strSQL = "select counter_value from energo" With objCommand .ActiveConnection = objConnection .CommandText = strSQL End With objCommand.execute ...у меня в табличке energo одно поле counter_value и там число...вот я выполняю запрос и не пойму как мне увидеть запрошенное число просто в текстбоксе...можно ли это сделать без исподьзования recordset-а ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2007, 16:08 |
|
||
|
можно ли без recordset-а
|
|||
|---|---|---|---|
|
#18+
в адо - нет, насколько я помню, там нет других объектов доступа к данным, кроме рекордсета ... ест ь out параметры, но это еще больший гимор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2007, 16:13 |
|
||
|
можно ли без recordset-а
|
|||
|---|---|---|---|
|
#18+
1.Добавить в комманд параметр типа output. 2.Запрос изменить на Код: plaintext 4. Вообщето тут форум по MS SQL... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2007, 16:15 |
|
||
|
можно ли без recordset-а
|
|||
|---|---|---|---|
|
#18+
Ещё Executescalar есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2007, 16:18 |
|
||
|
можно ли без recordset-а
|
|||
|---|---|---|---|
|
#18+
Le Peace4. Вообщето тут форум по MS SQL... :) Дико извиняюсь каким-то ветром занесло сюда... :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2007, 16:19 |
|
||
|
можно ли без recordset-а
|
|||
|---|---|---|---|
|
#18+
автор3. После execute посмотреть значение параметра. ...а как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2007, 16:24 |
|
||
|
можно ли без recordset-а
|
|||
|---|---|---|---|
|
#18+
objConnection.Parameters("@par").Value Но что-то я не уверен, что это сработает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2007, 16:44 |
|
||
|
можно ли без recordset-а
|
|||
|---|---|---|---|
|
#18+
Le PeaceЕщё Executescalar есть. Это уже vb.net авторobjConnection.Parameters("@par").Value У Connection нет такой коллекции. Можно так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2007, 10:18 |
|
||
|
можно ли без recordset-а
|
|||
|---|---|---|---|
|
#18+
У Connection нет такой коллекции.Конечно, я имел в виду Command. Скопипастил не то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2007, 11:03 |
|
||
|
можно ли без recordset-а
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2007, 15:48 |
|
||
|
можно ли без recordset-а
|
|||
|---|---|---|---|
|
#18+
adv , браво, условие фактически выполнено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2007, 16:40 |
|
||
|
можно ли без recordset-а
|
|||
|---|---|---|---|
|
#18+
adv Код: plaintext Учите матчасть . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2007, 16:45 |
|
||
|
можно ли без recordset-а
|
|||
|---|---|---|---|
|
#18+
big-dukeнеявно используется рекордсетя и не говорил, что использоваться не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2007, 17:48 |
|
||
|
можно ли без recordset-а
|
|||
|---|---|---|---|
|
#18+
big-dukeЯ к тому, что у вас неявно используется рекордсет, без которого ТС и хотел обойтись.Ну вообще без рекордсета нельзя ничего вытащить из базы в принципе. Ну исключая базы с прямым доступом конечно :) Решение adv вполне имеет право на жизнь. Оно конечно тоже делает рекордсет, но неявно.... Хотя время жизни этого рекордсета и соответственно сколько оно будет держать ресурсы сервера это уже вопрос долгий и болезненный. В общем, для микропрограмм так делать можно, а вот для серьезных я бы не советовал.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2007, 17:54 |
|
||
|
можно ли без recordset-а
|
|||
|---|---|---|---|
|
#18+
White Owl... Хотя время жизни этого рекордсета и соответственно сколько оно будет держать ресурсы сервера это уже вопрос долгий и болезненный. В общем, для микропрограмм так делать можно, а вот для серьезных я бы не советовал....Можно про это поподробнее. Или ссылку. Просто, не брезгую в адп получать так одиночные значения. Может что не то делаю? Сразу, оговорюсь: системы у меня пока микро - до сотни пользователей. На будущее неплохо бы знать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2007, 13:03 |
|
||
|
можно ли без recordset-а
|
|||
|---|---|---|---|
|
#18+
Хотя время жизни этого рекордсета и соответственно сколько оно будет держать ресурсы сервера это уже вопрос долгий и болезненный.Нисколько. cn.Execute открывает рекордсет в режиме readonly forwardonly. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2007, 15:33 |
|
||
|
можно ли без recordset-а
|
|||
|---|---|---|---|
|
#18+
adv White Owl... Хотя время жизни этого рекордсета и соответственно сколько оно будет держать ресурсы сервера это уже вопрос долгий и болезненный. В общем, для микропрограмм так делать можно, а вот для серьезных я бы не советовал....Можно про это поподробнее. Или ссылку. Просто, не брезгую в адп получать так одиночные значения. Может что не то делаю? Сразу, оговорюсь: системы у меня пока микро - до сотни пользователей. На будущее неплохо бы знать.В данном случае это уже не микро, а макро... Микро это когда один пользователь. Два пользователя это уже много :) Когда ты делаешь запрос к серверу, сервер не просто формирует резалтсет и отдает его весь разом клиенту, а держит этот резалтсет в своей памяти и отдает его клиенту по одной строке за раз (по командам fetch или movenext). Когда клиент ГОВОРИТ серверу что мол "я закончил работать с резалтсетом" тогда сервер забывает этот резалтсет и отдает эту память под резалтсеты другого клиента... Чтобы клиент сказал серверу "я закончил" надо сделать что-то типа rs.Close(). В принципе рекордсеты автоматически закрываются если переменной-рекордсет присваивается nothing или она выходит за пределы видимости. Но в случае с неявным определением рекордсета ты не знаешь точно какие у этого неявного рекордсета пределы видимости - в принципе они должны быть в пределах одной команды (которая его создала), но к сожалению это не совсем так. По окончанию команды рекордсет становится недоступным программе, но реально убьется только по выходу из текущего блока видимости. Или когда до него доберется сборщик мусора (в vb.net), а до тех пор он может держать один лишний резалтсет-буфер на сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2007, 23:03 |
|
||
|
можно ли без recordset-а
|
|||
|---|---|---|---|
|
#18+
Когда ты делаешь запрос к серверу, сервер не просто формирует резалтсет и отдает его весь разом клиенту, а держит этот резалтсет в своей памяти и отдает его клиенту по одной строке за раз.Это завитит от местоположения, типа курсора и типа блокировки. adUseClient + adOpenStatic получает все все данные сразу, сервер в памяти ничего не держит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2007, 08:52 |
|
||
|
можно ли без recordset-а
|
|||
|---|---|---|---|
|
#18+
Antonariy Когда ты делаешь запрос к серверу, сервер не просто формирует резалтсет и отдает его весь разом клиенту, а держит этот резалтсет в своей памяти и отдает его клиенту по одной строке за раз.Это завитит от местоположения, типа курсора и типа блокировки. adUseClient + adOpenStatic получает все все данные сразу, сервер в памяти ничего не держит.yep... but do you know what kind of cursor would be opened by the command objConnection.execute("select top 1 counter_value from energo").fields(0) Can you show me any documentation to prove your knowledge? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2007, 17:11 |
|
||
|
можно ли без recordset-а
|
|||
|---|---|---|---|
|
#18+
White Owl Посмотри в MSDN параметры по умолчанию у rs.Open. Это оно и есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.12.2007, 12:27 |
|
||
|
можно ли без recordset-а
|
|||
|---|---|---|---|
|
#18+
Antonariy White Owl Посмотри в MSDN параметры по умолчанию у rs.Open. Это оно и есть.А ну да.... Открываем, смотрим... В секции Remarks первая же строка: The default cursor for an ADO Recordset is a forward-only, read-only cursor located on the server. Что подтверждает тезис об опасности использования неявных рекордсетов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.12.2007, 17:28 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=35041922&tid=2162852]: |
0ms |
get settings: |
12ms |
get forum list: |
25ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
73ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 417ms |

| 0 / 0 |
