1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Ado + функция БД Oracle

Тема в разделе "Базы данных и администрирование", создана пользователем hedgehog, 18 сен 2006.

Статус темы:
Закрыта.
  1. hedgehog

    hedgehog Гость

    Репутация:
    0
    Есть: в БД Oracle функция makeWebImage(id, height, width), пишущая во временную таблицу бинарные данные ресемплированной согласно полученным параметрам (ширине и высоте) и идентификатору исходной полноразмерной картинки и возвращающая идентификатор новой записи во временной таблице.
    Необходимо: средствами ADO (скорее всего через Command) вызвать-выполнить данную функцию и получить возращаемый идентификатор для последующей загрузки в Recordset
    :( Проблема: SELECT в тексте команды использовать нельзя, плз у кого были подобные ситуации или кто знает как это все рулить помогите!
     
  2. ????

    ???? Гость

    Репутация:
    0
    <!--QuoteBegin-hedgehog+18:09:2006, 10:59 -->
    <span class="vbquote">(hedgehog @ 18:09:2006, 10:59 )</span><!--QuoteEBegin-->скорее всего через Command
    [snapback]44011" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    не обязательно.
    Код:
    procedure TForm1.Button1Click(Sender: TObject);
    var
    Q: TADOQuery;
    begin
    Q := TADOQuery.Create(Self);
    
    Q.Connection := ADOConnection1;
    Q.SQL.Add('select makeWebImage(1, 2, 3) result from dual');
    
    try
    Q.Active := True;
    ShowMessage(Q.FieldValues['RESULT']);
    finally
    Q.Free;
    end;
    end;
     
  3. hedgehog

    hedgehog Гость

    Репутация:
    0
    а как мне это все использовать бы на ASP странице? просто нечто подобное мне в голову тоже приходило, а вот с какой стороны в ASP подступиться - не знаю :(

    <!--QuoteBegin-????+18:09:2006, 13:48 -->
    <span class="vbquote">(???? @ 18:09:2006, 13:48 )</span><!--QuoteEBegin-->'select makeWebImage(1, 2, 3) result from dual'
    [snapback]44023" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    к тому же у меня четкое условие - забыть в данном случае про SELECT
     
  4. ????

    ???? Гость

    Репутация:
    0
    <!--QuoteBegin-hedgehog+18:09:2006, 14:35 -->
    <span class="vbquote">(hedgehog @ 18:09:2006, 14:35 )</span><!--QuoteEBegin-->забыть в данном случае про SELECT
    [snapback]44024" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    begin
    :result := MakeWebImage:)id, :height, :width);
    end;


    просто bind'ишь необходимые параметры и получаешь result
     
  5. hedgehog

    hedgehog Гость

    Репутация:
    0
    боюсь показаться совсем тормозом, но подойду к задаче с другой стороны: вот такой код ASP-страницы у меня вполне работал и я был доволен.

    Код:
    <%@ Language="JScript" %>
    <% 
    Response.ContentType = "image/jpeg";
    
    var id = Request.QueryString("id");
    var w = Request.QueryString("w");
    var h = Request.QueryString("h");
    var new_id;
    
    var Conn = Server.CreateObject("ADODB.Connection");
    Conn.Open(<connection_string>);
    var Cmd = Server.CreateObject("ADODB.Command");
    Cmd.ActiveConnection = Conn;
    Cmd.CommandText = "SELECT makeWebImage( ? , ? , ? ) img_id FROM dual;"
    Cmd.CommandType = 1; // adCmdText
    // adInteger = 3; adParamInput = 1
    Cmd.Parameters.Append(Cmd.CreateParameter("image_in", 3, 1, 0, id));
    Cmd.Parameters.Append(Cmd.CreateParameter("max_height", 3, 1, 0, h));
    Cmd.Parameters.Append(Cmd.CreateParameter("max_width", 3, 1, 0, w));
    var Rs = Server.CreateObject("ADODB.Recordset");
    Rs = Cmd.Execute();
    new_id = Rs("img_id").Value
    Rs.Close();
    Conn.Close();
    
    /*
    дальше получение самой ресемплированной картинки
    */
    
    %>
    Но ситуация такова, что я в этом проекте осуществляю только извлечение и обработку данных. И мне было поставлено исходное условие, что эта функция makeWebImage не может выполняться внутри SELECTа (причин понять я толком не могу)
    В общем так формулирую: как мне в рамках ASP-страницы средствами ADO, не используя при этом в запросе SELECT, передать функции, производящей некие изменения в БД, необходимые параметры, выполнить ее и получить возвращаемое ею значение для дальнейшего использования?
     
  6. ????

    ???? Гость

    Репутация:
    0
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей