Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 05.09.2007
Сообщений: 31
1

Ошибка с AddNew (Set db = Server.CreateObject('ADODB.Connection') db.Open 'DSN=Sovch;UID=;PWD=;' SQLQuery = 'Select * From Feedback')

27.09.2007, 16:36. Показов 2027. Ответов 11
Метки нет (Все метки)

Люди подскажите плз в чем ошибка?
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
    Set db = Server.CreateObject('ADODB.Connection') 
    db.Open 'DSN=Sovch;UID=;PWD=;'
    SQLQuery = 'Select * From Feedback'
    Set rs = db.Execute(SQLQuery) 
 
  rs.AddNew
  rs('write_name') = var1
  rs('write_data') = var2
  rs('write_text') = var3
  rs('Article_ID') = var4
  rs.Update
Пока вместо AddNew использовал Insert into все работало, но надо обязательно AddNew. До этого ни разу не использовал. Что я не так написал (использовал примеры кода из 'Компьютер Пресс')
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.09.2007, 16:36
Ответы с готовыми решениями:

Set cn = Server.CreateObject ('ADODB.Connection') cn.Open 'DSN=blablabla' cn.Execute('Insert into........') ASP
Подскажите пожалуйста, как изобразить приведенный ниже код ASP под ASP.NET Set cn =...

set cnn = Server.CreateObject('ADODB.Connection') cnn.open '<conn string>'
set cnn = Server.CreateObject('ADODB.Connection') cnn.open '&lt;conn string&gt;' скажите есть...

Как получить Record.count в конструкции вида: Set conn = Server.CreateObject('ADODB.Connection')SQL = 'SELECT * FROM tbl'
Подскажите как получить Record.count в конструкции вида: Set conn =...

Ошибка при создании ADODB.Connection: : Unable to open registry key 'Temporary (volatile)
Иногда при создани ADO-шного коннекшена появляется ошибка : Unable to open registry key 'Temporary...

11
1 / 1 / 0
Регистрация: 21.06.2007
Сообщений: 654
27.09.2007, 17:09 2
Когда ты открываешь 'RecordSet' у тебя по умолчанию тип курсора 'Read only, Forward Only',
поэтому добавлять записи ты не можешь.

Раньше ты наверное просто делал нечто типа

Connection.Execute 'Insert into ...' .

Просто установи тип курсора ReadWrite, при открытии RecordSet-а
0
0 / 0 / 0
Регистрация: 05.09.2007
Сообщений: 31
27.09.2007, 17:14  [ТС] 3
Спасибо!
Щас попробую...
0
DimOS
27.09.2007, 23:32 4
ИМХО, тип курсора не установишь. надо так:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
set con = server.createobject('adodb.connection')
set rst = server.createobject('adodb.recordset')
con.open 'DSN=Sovch;UID=;PWD=;'
SQLQuery = 'Select * From Feedback'
rst.open SQLQuery, con, 1
 
rst.AddNew
...
rst.Update
rst.close
con.close
set rst = nothing
set con = nothing
 
'---- CursorTypeEnum Values ----
Const adOpenForwardOnly = 0
Const adOpenKeyset = 1
Const adOpenDynamic = 2
Const adOpenStatic = 3
1 / 1 / 0
Регистрация: 21.06.2007
Сообщений: 654
28.09.2007, 01:29 5
не парь человеку мозги.

Подключаешь adovbs.inc и пользуешься любыми системными констнтами.
0
DimOS
28.09.2007, 22:36 6
parashin
насчет 'не парь мозги'. кто бы говорил.
твой совет - в корне не правилен. когда ты делаешь
Set rs = db.Execute(SQLQuery)
рекордсет сразу же и создается, и открывается. поэтому изменить его тип ты не можешь, так как тип курсора можно установить только при закрытом рекордсете.

Pasha_K
файл adovbs.inc есть у тебя на машине, просто дай поиск по винтам.
1 / 1 / 0
Регистрация: 21.06.2007
Сообщений: 654
29.09.2007, 01:57 7
насчет 'не парь мозги' я имел в виду использование констант ADO. НЕ надо прописывать их вручную, достаточно подключить adovbs.inc
0
DimOS
29.09.2007, 03:12 8
ну тогда ладно )) я для наглядности
0 / 0 / 0
Регистрация: 05.09.2007
Сообщений: 31
30.09.2007, 12:39  [ТС] 9
Спасибо вам за советы. Я изменил код в соответствии с рекомендацией на:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  set conn = server.createobject('adodb.connection')
  set rs = server.createobject('adodb.recordset')
  conn.open 'DSN=Sovch;UID=;PWD=;'
  sql = 'Select * From Feedback'
 
  rs.Open sql, conn, 1
 
  rs.AddNew
  rs('write_name') = var1
  rs('write_data') = var2
  rs('write_text') = var3
  rs('Article_ID') = var4
  rs.Update
 
  rs.close
  set rs = nothing
  conn.close
  set conn = nothing
Но все равно не работает (пишет 'Невозможно отобразить страницу' и т.д.). Как же так?
0
pl
51 / 17 / 6
Регистрация: 18.05.2007
Сообщений: 1,322
30.09.2007, 15:43 10
Попробуй убрать UID и PWD в conn.open.
Убери галку Show friendly HTTP error massages в IE и посмотри где ошибка.
0
ars
30.09.2007, 17:58 11
Попробуй вот это
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Set db = Server.CreateObject('ADODB.Connection')
  db.Open 'Connection_string'
  Set rs = Server.CreateObject('ADODB.Recordset')
  rs.ActiveConnection = db
  rs.CursorType = 1
  rs.LockType = 3
  rs.Source = 'Table_Name'
  rs.Open
  rs.AddNew
  rs('Field1') = Value1
  rs('Field2') = Value2
  rs('Field3') = Value3
  rs.Update 
  rs.Close
  Set rs=Nothing
  db.Close
  Set db=Nothing
0 / 0 / 0
Регистрация: 05.09.2007
Сообщений: 31
01.10.2007, 09:58  [ТС] 12
Большое спасибо всем за участие!
Все работает!
Вот работающий текст (вдруг кому пригодиться
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  set conn = server.createobject('adodb.connection')
  conn.open 'DSN=Sovch'
  sql = 'Select * From Feedback'
  set rs = server.createobject('adodb.recordset')
  set rs.ActiveConnection = conn
 
  rs.Source = sql
  rs.LockType = 3
  rs.Open
 
  rs.AddNew
  rs('write_name') = var1
  rs('write_data') = var2
  rs('write_text') = var3
  rs('Article_ID') = var4
  rs.Update
 
  rs.close
  set rs = nothing
  conn.close
  set conn = nothing
Еще раз всем спасибо!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.10.2007, 09:58

Ошибка на строке Set FileObject = Server.CreateObject('Scripting.FileSystemObject')
Я добавляю на .asp (хотя не важно) такой код: &lt;script language='VBScript'&gt; Dim DtFile,...

Ошибка ftp_login(): Could not initialize TLS connection in Open Server
Здравствуйте. Сделал на локальном сервере сайт и облачное хранилище. Версия php 7.0. Используя...

Кто знает CreateObject("ADODB.Connection") при MySql
На компе установлен WinXP, IIS, MySql. На Acess работает безупречно, на МуSql всё встаёт колом....

Аналог в VB: Set myfileobject = server.CreateObject('scripting.filesystemobject') Set mytextfile = myfileobject.CreateTextFile('C:1.txt') ?
Mojno li ispol'zovat' v VB shto to identichnoe etim strochkam : Set myfileobject =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru