2010-06-02 2 views
-1
' Setting variables 
Dim con, sql_insert, data_source 

data_source = "project_db" 
sql_insert = "insert into cart (UserID,Count,ProductName,ProductDescription,ProductPrice) values ('"&user_id&"','"&count&"','"&product_name&"','"&product_description&"','"&product_price&"')" 

' Creating the Connection Object and opening the database 
Set con = Server.CreateObject("ADODB.Connection") 
con.Open data_source 

' Executing the sql insertion code 
con.Execute sql_insert 

' Done. Now Close the connection 
con.Close 
Set con = Nothing 

Как вы можете видеть, это простой код. и он работал на моем локальном хосте 5 или 6 раз. но теперь это не сработало. В чем проблема ? Я думаю, речь идет о моей базе данных или памяти. я установка 2 различных ИРИО в 2 разных компьютерах, и они ведут себя так же ... пожалуйста, помогите ..Вставка с использованием ADO с классическим ASP

Благодаря

+0

Дают немного более подробную информацию об ошибке вы получаете – Smur

+0

Microsoft OLE DB Provider для ошибки ODBC Drivers '80040e07', я получаю. –

+0

Что происходит с этими вложенными кавычками в вашем вставке SQL? Почему вы не используете параметры ADO? –

ответ

1

это даст вам никакого сообщения об ошибке ли? Убедитесь, что все значения, которые вы вставляете, действительно имеют значения и не являются пустым или нулевым. Вы можете проверить это с помощью response.write всех значений, а затем response.end, чтобы узнать, содержат ли они какие-либо значения.

1

Держу пари, что это зависящая от данных ошибка. Вы должны использовать параметры ADO. Это обеспечит, чтобы посторонние недружественные символы SQL на вашем входе не оказывали негативного влияния на работу с базой данных. Вы также должны использовать их для защиты от SQL-инъекций.

Некоторые документы доступны по адресу http://msdn.microsoft.com/en-us/library/ms675869(VS.85).aspx, и вы можете использовать Google для «параметров ADO» и найти множество релевантных примеров.

0

Я считаю, что «data_source» должен быть сфокусирован (и согласен с Томом Гулленом в отношении сообщений об ошибках. Всегда используйте Option Explicit в верхней части ваших страниц).

con.Open либо ожидает, что некоторые параметры DSN или строка подключения к базе данных будут переданы в 'data_source'.

Примеры соответственно:

data_source = DSN_Database, DSN_User, DSN_Password 

(параметры этих 'dsn_' найдены/установить в конфигурации DSN)

ИЛИ:

data_source = "Driver={SQL Server};Server=server.domain.com;Database=project_db;uid=MyUser;pwd=MyPass;"" 
Смежные вопросы