Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
leyon
0 / 0 / 0
Регистрация: 27.08.2009
Сообщений: 6
1

При вставке данных в таблицу: Command text was not set for the command object.

27.08.2009, 09:49. Просмотров 1289. Ответов 7
Метки нет (Все метки)

Приятного время суток.

Помогите пожалуйста разобраться

<%
Dim tmp

tmp = Request('val')
Dim strSQL,strConn,conn,rs
strConn = 'Provider=Microsoft.Jet.OLEDB.4.0ata Source=' & Server.MapPath('db.mdb')
Set conn = Server.CreateObject('ADODB.Connection')
conn.Open strConn

'Пробовал так
Set rs = Server.CreateObject('ADODB.Recordset')
rs.ActiveConnection = conn
rs.Open
rs.AddNew 'где то здесь выдаёт ошибку
rs('id') = 8
rs('data') = tmp
rs.Update
Set rs = nothing

'И пробовал так
strSQL = 'INSERT INTO stam (id,data) VALUES ('8','' & tmp & '')'
conn.Execute(strSQL) 'здесь выдаёт ошибку
conn.Close
Set conn = nothing
%>

ПУРВАЯ ОШИБКА:
Error Type:
Microsoft JET Database Engine (0x80040E0C)
Command text was not set for the command object.
/db/insert.asp, line 17

ВТОРАЯ ОШИБКА:
Error Type:
Microsoft JET Database Engine (0x80004005)
Operation must use an updateable query.
/db/insert.asp, line 16

заранее большое спосибо
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.08.2009, 09:49
Ответы с готовыми решениями:

Информация по ADO Command
Расскажите чё-то о этом объекте, как на аспе с ним чё-то замутить...

Передача строки из GridView: Object reference not set to an instance of an object
Ахтунг!) Не разберусь где я не установил ссылку оО Выскакует когда я хочу...

NullreferenceExeption was unhandled Object reference not set to an instance of an object
using System; using System.Collections.Generic; using System.ComponentModel;...

adodb.command+stored procedure возможно ли?
esli vozmozhno ? est procedure: CREATE PROCEDURE . @findword varchar(50) ...

Странное поведение Command Line Parser
Работаю с https://commandline.codeplex.com Создал простой класс опций: ...

7
Axel
28.08.2009, 02:05 2
1.чтобы куда-то вставлять, нужно что-то выбрать.. запрос т.е. написать...
select ...
2. я думаю что поле id счетчик.. а ети значения проста так не вставляются...
leyon
0 / 0 / 0
Регистрация: 27.08.2009
Сообщений: 6
28.08.2009, 12:21  [ТС] 3
Спосибо большое за науку.

И если не трудно, киньте в меня
каким нибудь кодом,примером работы с:
Код
Connection.Execute(...)
и Recordset.AddNew() , Recordset.Updata
.
Что-бы смог разобраться сам и не мучить
присутствующих глупыми вопросами?

Заранее спосибо.
0
palva
3165 / 2281 / 466
Регистрация: 08.06.2007
Сообщений: 8,250
Записей в блоге: 4
28.08.2009, 13:07 4
База данных должна быть доступна для записи. Вы поместили ее в корневой директории сайта. Обычно эта директория закрыта для записи. Поэтому нужно:

1. Завести виртуальную директорию для файлов, в которые сервер предполагает делать запись, и дать для этой директории права на запись

2. Для соответствующей физической директории дать права NTFS на запись для аккаунта, под которым работает IIS (имя машины_<не помню что>). Это нужно сделать на вкладке Security (Безопасность) в свойствах папки.

После этого база должна быть доступна для записи и ваша команда INSERT в asp-скрипте будет выполняться без ошибок. Если, конечно, дело было в этом.
0
Axel
28.08.2009, 23:31 5
если поле ID (проверь на всякий случай) счетчик тогда:
1.
rs.ActiveConnection = conn
rs.Open 'select ID, data from tablename'
rs.AddNew и т.д.
2.
strSQL = 'INSERT INTO stam (data) VALUES ('' & tmp & '')'
conn.Execute(strSQL)
Axel
28.08.2009, 23:33 6
а поводу виртуальных директорий и прочего.. не знаю, до такого не доводил, поетому не видел какие бывают ошибки... но я думаю что должен написать что отказано в доступе...
Axel
28.08.2009, 23:42 7
поправочка...
1.
rs.ActiveConnection = conn
rs.Open 'select data from tablename'
rs.AddNew
rs.('data') = 'smth' и т.д.
leyon
0 / 0 / 0
Регистрация: 27.08.2009
Сообщений: 6
29.08.2009, 19:45  [ТС] 8
Ребятa всем бoлшoе спaсибo.

Действительнo,изменил прaвa пoльзoвaтеля,дoбaвил Write где нaдo,и всё зaрaбoтaлo.Ещё рaз бoльшoе спaсибo.

Leon.
0
29.08.2009, 19:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.08.2009, 19:45

Как закрыть обьект 'ADODB.Command' ?
Привет. Как закрыть обьект 'ADODB.Command'. Спасибо.

Ошибка Object reference not set to an instance of an object
здравствуйте всем, у меня одна проблемка, работаю с генерацией различных...

Как узнать сколько записей возвращает Command?
Как узнать сколько записей возвращает Command? Очень надо.


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru