Вставить с помощью ADO с классическим ASP - PullRequest
0 голосов
/ 02 июня 2010
' 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 разных iis на 2 разных компьютерах и они ведут себя одинаково ... помогите пожалуйста

Спасибо

Ответы [ 3 ]

1 голос
/ 02 июня 2010

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

Некоторые документы доступны по адресу http://msdn.microsoft.com/en-us/library/ms675869(VS.85).aspx,, и вы можете найти в Google "Параметры ADO" и найти множество соответствующих примеров.

1 голос
/ 02 июня 2010

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

0 голосов
/ 12 марта 2015

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

con.Open ожидает, что некоторые параметры уведомления о доставке или строка подключения к базе данных будут переданы в 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;""
...