проблема с asp.net

_Ivan_
На сайте с 14.05.2006
Offline
148
605

К сожалению asp.net совершенно мне не знаком.

На сайте одного заказчика есть такой вот скрипт, позволяющий положить базу данных.

<%

var firm_id,type_id,class_id;

var type_name,class_name;

var query;

var recSet,recSet1,recSet2,recSet3;

conn = Server.CreateObject("ADODB.Connection");

conn.Open(DSN);

product_id=Request.QueryString("id");

query = "SELECT firm_id,type_id,class_id from product where id = "+product_id;

recSet2 = conn.Execute(query);

%>

Проблема в переменной "product_id" в которую кроме идентификатора можно вписать текст обращения к бд.

Стоит задача исправить это, сделав проверку переменной "product_id". Первая идея - т.к идентификатор "id" - число от 1 до 10000, сформировать на основе переменной "product_id" новую текстовую переменную из первых 5 символов переменной "product_id", и ее цеплять к запросу. Как это сделать - не знаю. Попытки найти описания функций, методов работы со строками в asp.net ни к чему не привели.

Прошу помочь знатоков asp.net...

T
На сайте с 11.07.2007
Offline
43
#1

Может так пойдет:

query = "SELECT firm_id,type_id,class_id from product where id = " + Convert.ToInt32(product_id);

приведем product_id к целому и все путем.. я не уверен на счет конкотенации правда (сработает ли "+")

_Ivan_
На сайте с 14.05.2006
Offline
148
#2
Toster:
Может так пойдет:
query = "SELECT firm_id,type_id,class_id from product where id = " + Convert.ToInt32(product_id);

приведем product_id к целому и все путем.. я не уверен на счет конкотенации правда (сработает ли "+")

Спасибо!

уже подсказали рабочий вариант

product_id = QueryStringInt("id");

if (0 != product_id)

{

// Делаем запрос

...

}

function QueryStringInt(paramName)

{

var i = parseInt(Request.QueryString(paramName));

if (isNaN(i) || i<1) i = 0;

return i;

}

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий