|
|
|
Хранимая процедура
|
|||
|---|---|---|---|
|
#18+
Есть элементарная хранимая процедура: CREATE PROCEDURE dbo.get_name AS select Тип, Номер_контейнера from baze..main GO в query analyser'e работает. Но из VB не вызывается: Private Sub Form_Load() Set cnn = New ADODB.Connection cnn.Open ("DSN=baze") Set rs = New ADODB.Recordset rs.ActiveConnection = cnn rs.CursorLocation = adUseClient rs.Open "select * from main", cnn, adOpenDynamic, adLockOptimistic Set Grid.DataSource = rs End Sub Private Sub Command1_Click() Set cmd.ActiveConnection = cnn cmd.CommandType = adCmdStoredProc cmd.CommandText = "sel" Set rs = cmd.Execute End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2005, 16:55:43 |
|
||
|
Хранимая процедура
|
|||
|---|---|---|---|
|
#18+
Видимо, SET NOCOUNT ON в процедуру ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2005, 17:02:57 |
|
||
|
Хранимая процедура
|
|||
|---|---|---|---|
|
#18+
Cм. FAQ: Microsoft SQL Server Transact-SQL Проблема с возвращением рекордсета из хранимой процедуры: SET NOCOUNT ON ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2005, 17:06:21 |
|
||
|
Хранимая процедура
|
|||
|---|---|---|---|
|
#18+
поправил хр. проц. в квери аналайзери опять все нормально: CREATE PROCEDURE dbo.sel AS SET NOCOUNT ON select Тип, Номер_контейнера from baze..main GO Private Sub Form_Load() Set cnn = New ADODB.Connection cnn.Open ("DSN=baze") Set rs = New ADODB.Recordset rs.ActiveConnection = cnn rs.CursorLocation = adUseClient rs.Open "select * from main", cnn, adOpenDynamic, adLockOptimistic Set Grid.DataSource = rs End Sub но при вызове из программы ничего не меняется: Private Sub Command1_Click() Set cmd.ActiveConnection = cnn cmd.CommandType = adCmdStoredProc cmd.CommandText = "sel" Set rs = cmd.Execute Set Grid.DataSource = rs End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2005, 18:31:34 |
|
||
|
Хранимая процедура
|
|||
|---|---|---|---|
|
#18+
strizzzпоправил хр. проц. в квери аналайзери опять все нормально: CREATE PROCEDURE dbo.sel AS SET NOCOUNT ON select Тип, Номер_контейнера from baze..main GO Private Sub Form_Load() Set cnn = New ADODB.Connection cnn.Open ("DSN=baze") Set rs = New ADODB.Recordset rs.ActiveConnection = cnn rs.CursorLocation = adUseClient rs.Open "select * from main", cnn, adOpenDynamic, adLockOptimistic Set Grid.DataSource = rs End Sub но при вызове из программы ничего не меняется: Private Sub Command1_Click() Set cmd.ActiveConnection = cnn cmd.CommandType = adCmdStoredProc cmd.CommandText = "sel" Set rs = cmd.Execute Set Grid.DataSource = rs End Sub А какая ошибка выдается если переписать обработчик так: Private Sub Command1_Click() On Error GoTo Err Set cmd.ActiveConnection = cnn cmd.CommandType = adCmdStoredProc cmd.CommandText = "sel" Set rs = cmd.Execute Set Grid.DataSource = rs Err: MsgBox Err.Description End Sub[/quot] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2005, 18:38:16 |
|
||
|
Хранимая процедура
|
|||
|---|---|---|---|
|
#18+
2guest1111 никакой ошибки нет, просто пустой меседжбокс. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 09:46:22 |
|
||
|
Хранимая процедура
|
|||
|---|---|---|---|
|
#18+
Выложите свой проект. У меня все работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 10:03:51 |
|
||
|
Хранимая процедура
|
|||
|---|---|---|---|
|
#18+
так все-таки ошибка есть, коли появляетвся месажбокс? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 10:18:53 |
|
||
|
Хранимая процедура
|
|||
|---|---|---|---|
|
#18+
2HandKot Просто пустой меседжбокс 2Melkiades как такого проекта собственно и нет пока. одна таблица, одна хранимая процедура, а код весь, что есть. полностью таблица открывается, но она открывается запросом, а хранимая процедура такое ощущение, что просто не вызывается. :(, т.к. я уже говорил, что кверианалайзере работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 10:36:12 |
|
||
|
Хранимая процедура
|
|||
|---|---|---|---|
|
#18+
Ну вот, опять те же грабли... Пора уже это в FAQ повесить... Не используйте Set rs = cmd.Execute Используйте rs.Open cmd, , adOpenStatic, adLockOptimistic ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 12:01:41 |
|
||
|
Хранимая процедура
|
|||
|---|---|---|---|
|
#18+
Antonariy Не используйте Set rs = cmd.Execute Что за голословные заявления? Объяснитесь, пожалуйста. За многие годы использования данной конструкции не видел ни одного глюка. А вот при rs.Open - видел неоднократно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 12:04:08 |
|
||
|
Хранимая процедура
|
|||
|---|---|---|---|
|
#18+
А я - наоборот. И на форуме это обсуждалось. В поиск. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 12:13:00 |
|
||
|
Хранимая процедура
|
|||
|---|---|---|---|
|
#18+
Слазил сам в поиск и не нашел подтверждения своим словам. Похоже, у Open и Execute есть какие-то индивидуальные нюансы. Кто-то лучше изучил Open, кто-то Execute. Дело вкуса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 12:24:18 |
|
||
|
Хранимая процедура
|
|||
|---|---|---|---|
|
#18+
Так приведите пример, при котором cmd.execute сглючит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 12:26:49 |
|
||
|
Хранимая процедура
|
|||
|---|---|---|---|
|
#18+
в итоге так заработало. правда пришлось закрыть и открыть заново рекордсет. может, кстате, из-за етого cmd.execute не работать? Private Sub Form_Load() Set cnn = New ADODB.Connection cnn.Open ("DSN=baze") Set rs = New ADODB.Recordset rs.ActiveConnection = cnn rs.CursorLocation = adUseClient rs.Open "select * from main", cnn, adOpenDynamic, adLockOptimistic Set Grid.DataSource = rs rs.Close Set rs = Nothing End Sub Private Sub Command1_Click() Set cmd.ActiveConnection = cnn Set rs = New ADODB.Recordset rs.ActiveConnection = cnn rs.CursorLocation = adUseClient cmd.CommandType = adCmdStoredProc cmd.CommandText = "sel" rs.Open cmd, , adOpenDynamic, adLockOptimistic Set Grid.DataSource = rs End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 12:52:29 |
|
||
|
Хранимая процедура
|
|||
|---|---|---|---|
|
#18+
Так приведите пример, при котором cmd.execute сглючит. Execute давно не использую, поэтому примеров, тем более глючащих, нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 13:04:06 |
|
||
|
|

start [/forum/topic.php?fid=60&gotonew=1&tid=2167007]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
29ms |
get topic data: |
6ms |
get first new msg: |
3ms |
get forum data: |
1ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 186ms |
| total: | 274ms |

| 0 / 0 |
