1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

VB,IIS,ASP,SQL отображение выборки

Тема в разделе "Программирование", создана пользователем Macro, 30.07.07.

  1. Macro

    Macro Участник

    162
    0
    Подскажите как вывести данные ввиде таблицы
    Пишет "Недопустимый оператор для строка "<td>Отправлено пользователем за " и тип 'Field'"

    <%@ Language="VB" aspcompat=true Debug="true"%>
    <script runat="server">

    Sub Page_Load()

    Dim cn,rs,sql
    cn = Server.CreateObject("ADODB.Connection")
    cn.ConnectionTimeout = 0
    cn.CommandTimeout = 0
    cn.Open("DSN=DB","in_script","12345678")
    rs = Server.CreateObject("ADODB.RecordSet")
    sql = "SELECT sum_1 AS sum_1, sum_2 AS sum_2 FROM Table WHERE Client = 'user'"
    Response.Write (sql)
    rs.Open(sql,cn)

    Response.Write("<table Align=center border=2 CellPedding=0 CellSpacing=1 Width=740>")
    while rs.eof = False
    Response.write("<tr>")
    Response.write("<td>" + "Отправлено пользователем за месяц: "+ rs.fields.item("sum_1"))
    Response.Write(rs.fields.item("sum_1"))
    Response.Write(" Kb" + "</td>")
    Response.write("<td>" + "Получено пользователем за месяц: " )
    Response.Write(rs.fields.item("sum_2"))
    Response.Write(" Kb" + "</td>")
    Response.write("</tr>")
    rs.move(1)
    End While
    Response.write("</table>")

    rs.Close()
    cn.Close()


    End Sub


    </script>
     
  2. Pshark

    Pshark Участник

    330
    0
    используй DataGridView
    ;)
     
  3. Voyager

    Voyager Активный участник

    3.066
    0
    Не знаю тонкостей VB, но может нужно rs.fields.item("sum_1") перевести в string.
     
  4. хочу_вот_сказать

    хочу_вот_сказать Активный участник

    8.402
    1
    sql = "SELECT sum_1 AS sum_1, sum_2 AS sum_2 FROM Table WHERE Client = 'user'"

    вопрос зачем?
    Почему б просто не написать SELECT `sum_1`, `sum_2` или SELECT *?


    вообще странно разве нет ничего вроде mysql_fetch_array как в php, только в vb?

    ps. фигассе синтаксис у языка
     
  5. AlTk

    AlTk Читатель

    10.699
    0
    хочу_вот_сказать,
    "вопрос зачем? ...
    ... фигассе синтаксис у языка"
    ну и ну!
     
  6. хочу_вот_сказать

    хочу_вот_сказать Активный участник

    8.402
    1
    Отчего же такой ответ? :)
    Почему синтаксис странный - в любом языке привык видеть на конце строки точку с запятой. В качестве оператора присоединения "+" встречаю в своей практике только на js, обычно это ".". Зачем выбирать столбец под "псевдоименем" совпадающем с именем столбца? Ресурсы не дороги чтоли? Ладно если б например COUNT() as `field` выбирать, а тут...

    ps. автору для ознакомления
    http://www.aspnetmania.com/Articles/Article/81.html
    и это, расставляйте отступы. страдает наглядность ;)
     
  7. Caps

    Caps Активный участник

    4.342
    18
    :d мало однако языков Вы видели...
    а зачем два раза писать одно и то же?
     
  8. хочу_вот_сказать

    хочу_вот_сказать Активный участник

    8.402
    1
    [off]Caps, не ну brainfuck и подобные не в счет[/off]
     
  9. Caps

    Caps Активный участник

    4.342
    18
    питон, например.
     
  10. AlTk

    AlTk Читатель

    10.699
    0
    хочу_вот_сказать,
    1. так все-таки на конце строки или на конце выражения? ;)
    2. конкатенация как раз плюсом и обозначается
    3. выбирать сторлбец под псевдонимом - это очень даже хороший тон и говорит об определенной квалификации, а вот без псевдонимов - это очень даже плохой. (кстати, о каких ресурсах Вы ведете речь?)
     
  11. Caps

    Caps Активный участник

    4.342
    18
    AlTk,
    Про Select * не написал. :)
     
  12. AlTk

    AlTk Читатель

    10.699
    0
    Caps, а это еще хуже, чем выбирать столбец без псевдонима. :)
     
  13. Macro

    Macro Участник

    162
    0
    Это черновик, поэтому sql запрос там слабое подобие оригинала, тоже самое касается скрипта.
     
  14. хочу_вот_сказать

    хочу_вот_сказать Активный участник

    8.402
    1


    1. выражения.
    2. я неграмотный, просветите - где эта аксиома утверждена?
    3. что, прямо каждый столбец выбираете т.о.? чем же плох этот тон? и чем плох * если мне нужна вся информация из таблицы и если можно закешировать результаты запроса? м?

    о каких ресурсах? о web.

    ps. ещё про CONCAT() в mysql вспомнить можно ;)
     
  15. AlTk

    AlTk Читатель

    10.699
    0
    2. тут я ошибся. забыл слово "обычно".
    3. не хочу отвечать. попробуйте сами понять. или с коллегами обсудите.

    ПС. проблемы с веб-ресурсами не понял.
     
  16. Macro

    Macro Участник

    162
    0
    А DataGridView поддерживается Microsoft .NET Framework Version:1.1 ?
     
  17. Гость

    Гость Гость




    Ну ка, ну ка, о какой такой квалификации идет речь? (касательно пункта 3) [Тока не нужно отсылать меня к коллегам, как в вопросе со *, тут я кстати ессно согласен]
     
  18. Гость

    Гость Гость


    Не, этот контрол из 2-го FW
     
  19. AlTk

    AlTk Читатель

    10.699
    0
    Гость, если Вы согласны со *, то, я надеюсь, не за горами время, когда Вы согласитесь и с псевдонимами.

    добавлено через 2 минуты
    лень мне писать, честно. а вообще Вы и сами можете найти некоторый материал. просто наберите в яндексе "select псевдонимы столбца".
     
  20. Гость

    Гость Гость



    Когда говорят "А", то не плохо бы и "Б" сказать. Я не прошу дессертацию написать, так одно два предложения. Допустим про *.
    1 - гарантированный вывод порядка столбцов -> уменьшение вероятности возникновения ошибок
    2 - гарантированный набор столбцов -> тоже очень полезно
    ну и допустим 3 - редкий 'баг' с планами выполнения запросов...
    Черный пояс по копи пасту спасет тебя если "лень писать"
     
  21. AlTk

    AlTk Читатель

    10.699
    0
    Гость,
    уважаемый, мы с Вами на ты?
    повторяю еще раз - наберите в яндексе: "select псевдонимы столбца" или Вам лень в яндексе искать?

    добавлено через 2 минуты
    ПС. "... Черный пояс по копи пасту ..."
    а попробуйте представить себе, что у отвечающего, например, нет такой функции. ;)
     
  22. Гость

    Гость Гость


    Мне лень было в профиль залазить, но я полагаю мы примерно одного возраста, поэтому на ты, но теперь тока на ВЫ, если это так принципиально.
    Яндекс ничего вразумительного не дал кроме, того, что с помощью псевдонимов мы можем получить человекопонятное отражение наименования столбца. Возможно я серчить неумею.
    Всеже просветите меня, пожалуста, "тынцом" или мудрой фразой...
     
  23. Гость

    Гость Гость



    По добавленному...
    Ну это не беда, я сенсей в этом деле и могу раздавать пояса, вплоть до черного, тут нужно выучить 2 тыля: CTRL + С и CTRL + V. Ну и попутно развивать растяжку пальцов, потому что жать нужно единовременно =)
     
  24. AlTk

    AlTk Читатель

    10.699
    0
    Гость, у меня в профиле ошибка, а исправить не могу.
    1. отвечать Вам могут с устройства, с которого жутко неудобно делать "копи-пасте".
    2. так и надо было сказать: "искал- не нашел"
    смотрите здесь: http://www.interbase-world.com/ru/articles/5916.php
    и здесь http://www.compress.ru/Archive/CP/2006/7/26/

    ПС. достал из кармана "девайс", посмотрел.
    "CTRL + С и CTRL + V" не нашел. положил обратно.;)
     
  25. Гость

    Гость Гость



    Блин, тынцы ниочем, все это известно новичкам и уж никак не говорит о квалификации о которой вы говорили, начинаю подозревать что сказать вам нечего по данному вопросу...
    П.с. а чо за устройство такое?..