Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование (VB,C#,ASP,.NET): новости, советы, примеры



Выпуск # 347


http://www.kbyte.ru/

 

Новый выпуск!

Дело было вечером, делать было нечего, и решил я выпустить рассылку с последними обновлениями сайта, строго не судите, но если есть что сказать, пишите, не молчите, буду рад ответить.

 

Содержание выпуска

Система ЭКСПЕРТ

    Вопрос #001017: Бесплатные программы

    Вопрос #001014: Avi и Mpeg4 в Visual Basic

    Вопрос #000952: Обработка файлов в C# (.NET 2.0)

    Вопрос #000947: Секундомер

    Вопрос #000937: DLOOKUP??

Последнее на форумах

    Login control

    Динамическое добавление ссылок

    Жирная пунктирная линия

    Использование имен переменных в коде на C#

    помогите разобратся

Последние статьи

    Нестандартная форма

    Как узнать размер базы данных MySQL через php

    Взаимодействие с другими сайтами через HTTP (HttpWebRequest и HttpWebResponse)

    Работа с SQL – Запросы

    Использование XML.Serialization

Интересные коды и решения

Юмор на Kbyte.Ru

 

Система ЭКСПЕРТ

 

Система «Эксперт» - уникальная система, которая поможет решить, если не все, то многие Ваши проблемы с программированием и разработкой! Если у Вас есть какой-либо вопрос по программированию или разработке, то Вы всегда можете задать его нашим Экспертам! При этом каких-либо особых действий от Вас не потребуется! Просто отправьте Ваш вопрос на адрес mailto:expert@kbyte.ru, в теме письма укажите тему вопроса, в тексте – сам вопрос, и все! Эксперты дадут Вам ответ в течение 12-24 часов, на тот адрес, с которого Вы отправите вопрос. Все проще простого! Никакой регистрации и заполнение бесконечных форм, просто спросите и получите ответ ;-)


Вопрос #001017: Бесплатные программы

Автор вопроса: Sarj // 03.06.2008 / 08:56

Уважаемые эксперты, поскажите пожалуйста бесплатный аналог Corel Draw. Очень надо...

.....

Отвечает: Алексей Немиро // 03.06.2008 / 09:02

Здравствуйте, Sarj.

http://inkscape.org/

--
С наилучшими пожеланиями,
Немиро Алексей http://aleksey.nemiro.ru/

 

Вопрос #001014: Avi и Mpeg4 в Visual Basic

Автор вопроса: алексей // 02.06.2008 / 12:36

Как можно проигрывать эти форматы в вижал бэйсик? Пример на сайте не работает.

.....

Отвечает: Алексей Немиро // 02.06.2008 / 12:43

Здравствуйте, Алексей.

Можно использовать MediaPlayer. Для этого его нужно подключить к
проекту через меню Project (Проект) -> Components (Компоненты), в
появившемся окне найти и выбрать Windows Media Player. Далее, в
панели инструментов должна появиться иконка плеера, который можно
разместить на форме. Указать файл для проигрывания можно
в свойство URL, или FileName в зависимости от версии проигрывателя.

--
С наилучшими пожеланиями,
Немиро Алексей http://aleksey.nemiro.ru/

 

Вопрос #000952: Обработка файлов в C# (.NET 2.0)

Автор вопроса: Сергей // 09.05.2008 / 18:07

Доброе время суток!
В общих словах, такая задача поставлена передо мной: На веб-странице
пользователь выбирает файл, нажимает кнопку "Импорт" и из этого файла
данные импортируются в таблицу БД Oracle.
Файл должен быть текстовым, первые 2 строки- информация о времени и
логине того, кто выгружал. После них идут строки данных, поля
разделяются симоволом | .
Просьба дать ссылки на документацию по работе с файлами, которые могут
помочь :-)

Отвечает: Алексей Немиро // 12.05.2008 / 10:34

Здравствуйте, Сергей.

Необходимые классы и функции для работы с файлами лежак в пространстве имен System.IO. Также Вам могут понадобиться классы для работы с регулярными выражениями, которые лежат в пространстве имен System.Text.RegularExpressions.
Что касается импорта файлов, то данные можно взять прямо из потока FileUpload.PostedFile.InputStream, передать их в StreamReader и обработать при помощи регулярных выражений.

--
С наилучшими пожеланиями,
Немиро Алексей http://aleksey.nemiro.ru/

 

Вопрос #000947: Секундомер

Автор вопроса: Александр // 08.05.2008 / 17:40

Добрый день!
Как сделать секундомер на сайте kbyte.ru много но вот все они выдают результат как 345сек, а мне надо 1:45:01 то есть в временом формате. Как сделать???

.....

Отвечает: Алексей Немиро // 09.05.2008 / 08:29

Здравствуйте, Александр.

Зная, что в минуте 60 секунд, в часе 60 минут, а в сутках 24 часа, можно легко превратить 345 секунд в нужный формат.
001:
002:
003:
004:
005:
006:
007:
008:
009:
Dim sec As Integer
sec = 345
Dim ssec As Integer, min As Integer, hour As Integer
If sec > 59 Then
 min = Int(sec / 60)
 ssec = sec Mod 60
End If
If min > 59 Then hour = Int(min / 60)
MsgBox sec & " сек. = " & hour & " ч. " & min & " мин. " & ssec & " сек."



--
С наилучшими пожеланиями,
Немиро Алексей http://aleksey.nemiro.ru/

 

Вопрос #000937: DLOOKUP??

Автор вопроса: Алексей // 05.05.2008 / 16:37

Почему те поля формы, которые имеют в ControlSource функцию Dlookup не записывают значение полей в конечную таблицу?

--------------------------------------
Категория: --- MS Access

Отвечает: Алексей Немиро // 06.05.2008 / 05:24

Здравствуйте, Алексей.

Из справки MS Access: Функция Dlookup
При использовании этой функции не учитываются
несохраненные изменения записей подмножества. Если функция
DLookup должна использовать измененные значения, необходимо сначала сохранить
изменения с помощью команды Сохранить запись в меню
Записи, с помощью перемещения фокуса на другую запись или
метода Update.


--
С наилучшими пожеланиями,
Немиро Алексей http://aleksey.nemiro.ru/

 


Чтобы задать Ваш вопрос, отправьте его на адрес expert@kbyte.ru

Раздел Эксперт на сайте Kbyte.Ru

Наверх

 

 

Последнее на форумах

Login control | Автор: Mefisto
Добавлено: 24.07.2008 / 22:43 | ответов: 7 | просмотров: 172

подскажите общие принципы работы с этим контролом, в сети по этому контролу инфы просто нету, или так смотрел, если есть линки на статьи поделитесь :)

P.S Почем я не могу изменить значения контрола из HTML кода? т.е имеем label, и в режиме дизайна html'a я делаю так <% Label1.Text="test" %> но при загрузке страницы текст у label'a не меняется, приходиться использовать Response.Write, что не так?

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 1 | Автор: Алексей
Добавлено:25.07.2008 / 02:32
подскажите общие принципы работы с этим контролом

много букофф придется писать, первым делом посмотри в сторону Membership, если увиденное не понравится, то значит этот контрол тебе не нужен, пока :)

делаю так <% Label1.Text="test" %> но при загрузке страницы текст у label'a не меняется

так лучше не делать, такие вещи делаются в коде, например можно в процедуре Page_Load().

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 2 | Автор: Mefisto
Добавлено:25.07.2008 / 03:11
хм, посмотрел в MSDN примеры, я много прочитал про FormsAuthentication, там же и про то как запоминать по кукам, шифрование и т.д, но в статье всё ручками писалось, вот думал через контрол попробовать :) ну буду дальше тогда разбираться, мож наткнусь где на статью именно по контролу
так лучше не делать, такие вещи делаются в коде, например можно в процедуре Page_Load().

Тут много не понятных вещей происходит, например выполняется большой цикл по истечению которого нужно на Label'e сменить текст, я просто думал эти контролы для этого и нужны, а щас попробовал но только через Page_load всё меняется, неуж-то только явой скриптом можно, странно, ещё меняю высоту у TextBox'a, в режиме дизайна всё поменялось как нужно, запускаю а там как было так и есть :) попробую через CSS, вообще можно обращаться к контролам и менять их свойства не только в Page_Load?

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 3 | Автор: Алексей
Добавлено:25.07.2008 / 03:22
хм, посмотрел в MSDN примеры, я много прочитал про FormsAuthentication, там же и про то как запоминать по кукам, шифрование и т.д, но в статье всё ручками писалось, вот думал через контрол попробовать :) ну буду дальше тогда разбираться, мож наткнусь где на статью именно по контролу

собственно там ничего писать не нужно, поставил, и пользуйся :)
нужные свойства можно визуально настроить.

Page_load всё меняется, неуж-то только явой скриптом можно

Page_Load - это не JavaScript :)
При создании файла ASPX в Visual Studio рекомендую поставить галку "Place code in separate file"
думаю тогда все сразу станет ясно :)

ещё меняю высоту у TextBox'a, в режиме дизайна

дизайнер - зло :) руками все делается проще и быстрее.
Высоту TextBox-а при условии, что не стоит TextMode=Multiline
поменять не получится, хотя если css использовать, должно поменяться,
может даже будет кросбраузерно :)

к контролам и менять их свойства не только в Page_Load?

нет :) события бывают разные, Page_Load всего-лишь одно из них.
А где и что менять, зависит от конкретных задач.

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 4 | Автор: Mefisto
Добавлено:25.07.2008 / 03:33
ну что то проясняеться
При создании файла ASPX в Visual Studio рекомендую поставить галку "Place code in separate file"

Так и не нашёл :)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 5 | Автор: Алексей
Добавлено:25.07.2008 / 03:41
В молодости, когда я эмигрировал с классического ASP, я написал
статейку, как руками отделить vb-код от html, правда она уже
беспонтовая и устарела, но думаю поможет http://aleksey.nemiro.ru/Programming/ASP-NET/Otdevnui-ASP-kod.nspx

скрин из VS 2k8 (в 2k5 также, 2k3 не помню) в прикрепленном файле.

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 6 | Автор: Mefisto
Добавлено:25.07.2008 / 23:34
Спасибо нашел теперь, но всё таки не могу разобраться как осуществляется проверка залогинился человек или нет, иемнно через контрол, сутки в мсдн просидел, смотрел примеры, а не нашёл что нужно, помогите плз, вот что пока понял :)
Создаю Login.aspx, в WebConfig пишу:
001:
002:
003:
004:
005:
006:
<authentication mode="Forms">
 <forms name="ASP_XML_Form" loginUrl="login.aspx" protection="All"
  timeout="30" path="/" requireSSL="false" slidingExpiration="true" />
</authentication>

Colorized by: Eros.CodeSyntaxColor Engine

Хотя чувствую что для контрола это не нужно :) далее, в событии контрола Login1_LoggedIn пишу такую вот проверку:
001:
002:
003:
004:
005:
If Login1.UserName = "name" And Login1.Password = "123456" Then

    End If

Colorized by: Eros.CodeSyntaxColor Engine

и дальше не знаю что делать :) вот несколько вопросов:
1.Как проверить поставлена ли галочка "Запомнить меня" и в следующий раз если она была отмечена сразу на страницы попадать а не на форму с контролом
2.Что делать если введены верные параметры? как установить куки(если галка отмечена) и сказать контролу что данные правильны и нужно показывать главную страницу
3.Как проверять что человек залогинен на других страницах вроде Default.aspx и если нет то на форму регистрации отправлять

Вот собстно, помогите плз :) очень хочеться научиться через контрол работать

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 7 | Автор: Алексей
Добавлено:27.07.2008 / 12:12
1. Создаем новый веб-проект
2. Создаем конфиг в корне и пишем (добавляем):
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
<system.web>
    <authentication mode="Forms">
      <forms  defaultUrl="~/admin"
              loginUrl="~/login.aspx"
              timeout="43200"
              slidingExpiration="true"
      >
        <credentials passwordFormat="Clear">
          <user name="admin" password="admin" />
        </credentials>
      </forms>
      
    </authentication>
</system.web>

3. Создаем страницу login.aspx, на ней размещаем Login control
4. Создаем папку /admin (в корне проекта), в него пихаем Default.aspx
и пишем там в <body>Превед</body> (это очень важно, а то работать не
будет :) ...). Создаем в этой же папке web.config:
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
<configuration>
    <appSettings/>
    <connectionStrings/>
    <system.web>
        <authorization>
          <allow users="admin"/>
          <deny users="*"/>
        </authorization>
    </system.web>
</configuration>

все, запускаем, пытаемся сразу перейти в папку /admin, должно
редиректнуть на страницу ввода логина и пароля:
логин: admin
пароль: admin

1.Как проверить поставлена ли галочка "Запомнить меня" и в следующий раз если она была отмечена сразу на страницы попадать а не на форму с контролом
2.Что делать если введены верные параметры? как установить куки(если галка отмечена) и сказать контролу что данные правильны и нужно показывать главную страницу
3.Как проверять что человек залогинен на других страницах вроде Default.aspx и если нет то на форму регистрации отправлять

1. if Not Request.IsAuthenticated Then "не авторизирован"
3. Либо сделать свой контрол и разместить его на всех страницах, либо
использовать MasterPage, либо залогинить всю папку, как я написал выше.

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Динамическое добавление ссылок | Автор: Mefisto
Добавлено: 24.07.2008 / 01:31 | ответов: 13 | просмотров: 282

Не знал как назвать тему, назвал как смог :) интересует такой вопрос, возьмем пример этот форум, т.е заходим на любой раздел и в низу страницы есть такие ссылки как:
Page: 1 | 2

Ведь это все генерируется динамически в зависимости от параметров, так вот, как это реализовывается? например у меня есть таблица, скажем при достижении 50 строк (<tr>) нужно сделать переход на вторую страницу где будут выведены остальные строки, и так далее. Или хотя бы в теории. Спасибо

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 1 | Автор: Алексей
Добавлено:24.07.2008 / 03:35
У нас сейчас это реализовано немного через "жо" :)
Делается два запроса к серверу, первый получат количество данных и
уже на основе количества данных рассчитывается необходимое количество
страниц. Далее, стандартными средствами, через DataAdapter получаются
данные для нужной страницы
DataAdapter.Fill(DataSet, iRecordStart, iRecordMax, "DefaultTable")

В идеале, все можно сделать на стороне SQL Server-а, в том числе и
сформировать список страниц, причем все в одном запросе.
SELECT (SELECT COUNT(*) FROM Table1) AS TotalRecordCount, * FROM Table1
Здесь мы получаем количество данных в поле TotalRecordCount, и все данные.

Для постраничного вывода можно использовать один из ниже указанных методов.
001:
002:
003:
004:
005:
SELECT TOP 100 * FROM MyTable
WHERE id NOT IN (SELECT TOP 100 id FROM MyTable ORDER BY id) ORDER BY id

_______________________
Colorized by: Eros.CodeSyntaxColor Engine


001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
REATE PROCEDURE dbo.get_this_page (@rec_per_page int, @page_num int) AS

SELECT identity(int, 1,1) AS RowNum, MyId AS OrigId INTO #tmp FROM mytable
SELECT b.* FROM #tmp AS a
INNER JOIN mytable AS b ON a.OrigId = b.MyId
WHERE a.RowNum BETWEEN (@rec_per_page * @page_num + 1)
  AND (@rec_per_page * (@page_num + 1))

DROP TABLE #tmp

_______________________
Colorized by: Eros.CodeSyntaxColor Engine


001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021:
022:
023:
024:
025:
026:
027:
028:
029:
030:
031:
032:
033:
034:
035:
036:
037:
038:
039:
040:
041:
042:
043:
044:
045:
046:
047:
048:
049:
050:
051:
052:
053:
054:
055:
056:
057:
058:
059:
060:
061:
062:
063:
064:
065:
066:
067:
068:
069:
070:
071:
072:
073:
074:
075:
076:
077:
078:
079:
080:
081:
082:
083:
084:
085:
086:
087:
088:
089:
090:
091:
092:
093:
094:
095:
096:
097:
098:
099:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
/*
Создаем тестовую таблицу. По полям i1 и d строим уникальные индексы
*/
set nocount on
create table list (
id int identity(1,1) primary key,
i1 int,
i2 int,
d datetime
)
CREATE INDEX ind_i ON list(i1)
CREATE INDEX ind_d ON list(d)
go

set nocount on
declare @i int
declare @m int
set @i=1
while @i<=30
begin
    insert into list (i1) values (null)
    set @i=@i+1
end

/*
Заполняем тестовую таблицу. В поля i1 и i2 заносим числа от 1 до 30, а в d даты с 1 по 30 января
2000 года
*/

select id into #t from list
while exists (select * from list where i1 is Null)
begin
    set @i=rand()*30+1
    set @m=(select max(id) from #t)
    update list
    set i1=@m,
    i2=@m,
    d=convert(datetime,'20020101',112)+@m-1
    where id=@i and i1 is null
    if @@rowcount>0
    delete from #t where id = @m
end
drop table #t

go

--Выбираем "строки" с 11 по 20


/*
Даже если выборка идет по первичному ключу его лучше указать.
В противном случае возможны всякие неожиданности
*/
SELECT identity(int,1,1) AS RowNum, convert(int,id) as id 
into #t FROM list with (index(0))

select t.RowNum as [По id],t.id,l.i1,l.i2,l.d from #t t
join list l on l.id=t.id
where RowNum between 11 and 20
order by RowNum
drop table #t
go

/*
Выборка по полю, по которому нет индекса
Этот код не будет работать так, как надо, несмотря на order by i2
Подробднее об этом написано здесь - http://support.microsoft.com/default.aspx?scid=kb;en-us;273586
*/
SELECT identity(int,1,1) AS RowNum, i2, convert(int,id) as id
into #t FROM list
order by i2

select t.RowNum as [По i2],l.id,l.i1,t.i2,l.d
from #t t
join list l on l.id=t.id
where RowNum between 11 and 20
order by RowNum
drop table #t
go

/*
Выборка по полю, по которому индекс построен
Этот код делает то, что надо
*/
SELECT identity(int,1,1) AS RowNum, i1, convert(int,id) as id i
nto #t FROM list with (index(ind_i))

select t.RowNum as [По i1],t.id,t.i1,l.i2,l.d
from #t t
join list l on l.id=t.id
where RowNum between 11 and 20
order by RowNum

drop table #t
go

/*
Выборка по дате в порядке убывания
*/

SELECT identity(int,1,1) AS RowNum, d, convert(int,id) AS id
INTO #t FROM list with (index(ind_d))
ORDER BY d DESC

SELECT t.RowNum AS [По d],t.id,l.i1,l.i2,t.d
FROM #t t
JOIN list l ON l.id=t.id
WHERE RowNum BETWEEN 11 AND 20

DROP TABLE #t
go
DROP TABLE list

_______________________
Colorized by: Eros.CodeSyntaxColor Engine


Еще, можно использовать GridView, он сам все сделает, только нужно
поставить свойство AllowPaging = True, правда ссылки на страницах
создаются JavaScript-ые, если это не критично, то можно его использовать.

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 2 | Автор: Mefisto
Добавлено:24.07.2008 / 04:17
Во блин, спасибо за ответ, только я запутался, я знаю лишь некоторые команды SQL, чтение/запись/создание, но тут так и не разобрался, можно простенький пример? у меня ASP.NET + VB.NET, и SQL Server, есть таблица table1 в нём 2 colums'a это id и txt, в id я поместил 100 записей, я просто не понял немного вот это:
001:
002:
003:
Select (Select COUNT(*) FROM Table1) As TotalRecordCount, * FROM Table1

Colorized by: Eros.CodeSyntaxColor Engine

и это
001:
002:
003:
004:
Select TOP 100 * FROM MyTable
WHERE id Not In (Select TOP 100 id FROM MyTable ORDER BY id) ORDER BY id

Colorized by: Eros.CodeSyntaxColor Engine

Остальное меня вообще убило :) если не трудно вот на основе того что сейчас есть и описано выше, как можно сделать :) просто синтаксис вообще не знаком и не понятен )

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 3 | Автор: Алексей
Добавлено:24.07.2008 / 14:23
SELECT TOP 10 * FROM table1
WHERE id NOT IN (SELECT TOP 10 id FROM table1 ORDER BY id) ORDER BY id

10 нужно умножать на текущую страницу, т.е. примерно:
myCmd.CommandText = "SELECT TOP 10 * FROM table1 WHERE id NOT IN (SELECT TOP " & (10 * 1).ToString() & " id FROM table1 ORDER BY id) ORDER BY id"

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 4 | Автор: Mefisto
Добавлено:24.07.2008 / 16:54
Спасибо, сейчас вытаскивает по 10 строк, только мы всё про работу базы говорим, а как же ссылки добавлять? теоретически представляю как, но практически что то не выходит

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 5 | Автор: Mefisto
Добавлено:24.07.2008 / 20:29
Вообщем посидел подумал, реализовал всё таки, только как то тоже через "жо" :) делаю так:
При загрузке страницы получаем кол-во всех строк в таблице, далее делим это кол-во на кол-во строк которые стоит отображать, в итоге получаем кол-во страниц, ну и в цикле заполняем через Response.Write ссылки на страницы, а при нажатии на страницу выполняем этот запрос:
001:
002:
003:
Select TOP 10 * FROM table1 WHERE id Not In (Select TOP " & (10 * 1).ToString() & " id FROM table1 ORDER BY id) ORDER BY id

Colorized by: Eros.CodeSyntaxColor Engine

и в место единицы подставляем номер страницы которую нужно вывести, вот в принципе всё, как такая реализация?

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 6 | Автор: Алексей
Добавлено:25.07.2008 / 02:23
Спасибо, сейчас вытаскивает по 10 строк, только мы всё про работу базы говорим, а как же ссылки добавлять? теоретически представляю как, но практически что то не выходит

001:
002:
003:
004:
005:
006:
007:
КоличествоСтраниц = КоличествоВсехДанных / КоличествоДанныхНаОднойСтранице
For i As Integer = 1 To КоличествоСтраниц
 literal1.Text &= String.Foramt("<a href='/default.aspx?page={0}'>{0}</a>", i)
Next

_______________________
Colorized by: Eros.CodeSyntaxColor Engine

там еще с остатками надо по шаманить (может int(...) использовать).

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 7 | Автор: Алексей
Добавлено:25.07.2008 / 02:29
При загрузке страницы получаем кол-во всех строк в таблице

да, можно так, но можно одним запросом обойтись
001:
002:
003:
004:
SELECT TOP 10 *, (SELECT COUNT(*) FROM table1) AS TotalRecordCount FROM table1 WHERE id NOT IN (SELECT TOP " & (10 * 1).ToString() & " id FROM table1 ORDER BY id) ORDER BY id

_______________________
Colorized by: Eros.CodeSyntaxColor Engine

в поле TotalRecordCount будет количество всех записей в таблице
table1, можно дергать его из любой строки, если строк нет, значит записей ноль :)

заполняем через Response.Write

контролов для этого дела в ASP .NET уйма. В предыдущем ответе я
показал на примере <asp:Literal />.

и в место единицы подставляем номер страницы которую нужно вывести

да,
Request("page"), но лучше
Dim page As Integer = 1
If Not Integer.TryParse(Request("page"), page) Then page = 1
...(10 * page).ToString()...

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 8 | Автор: Алексей
Добавлено:25.07.2008 / 02:50
вот так еще лучше
If Not Integer.TryParse(Request("page"), page) OrElse page < 1 Then page = 1

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 9 | Автор: Mefisto
Добавлено:25.07.2008 / 03:16
в поле TotalRecordCount будет количество всех записей в таблице

я так понял поле это нужно создать в таблице и в него будет результат выведен кол-ва строк? остальное вроде всё понятно кроме вот этого
там еще с остатками надо по шаманить (может int(...) использовать).

Я просто округлял в большую сторону, даже если 1 запись то она идёт на новую страницу, вроде работает :)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 10 | Автор: Алексей
Добавлено:25.07.2008 / 03:25
я так понял поле это нужно создать в таблице и в него будет результат выведен кол-ва строк? остальное вроде всё понятно кроме вот этого

ничего не нужно создавать, это типа алиас.

Я просто округлял в большую сторону, даже если 1 запись то она идёт на новую страницу, вроде работает :

int по-моему тоже должен округлять в плюс: int(10/8)

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 11 | Автор: Mefisto
Добавлено:25.07.2008 / 03:32
Разобрался, спасибо!

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 12 | Автор: Mefisto
Добавлено:27.07.2008 / 04:58
Оказывается про кое что забыл :) а как реализовывается максимальное кол-во страниц? т.е допустим как тут, 10 страничек и чтобы получить список с 10-20 нужно ссылочку нажать и т.д, по 1 странице я сообразил, а как по 10 показывать что то не могу понять, есть идеи?

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 13 | Автор: Алексей
Добавлено:27.07.2008 / 12:18
непонятно что именно непонятно :)
я уже вроде все написал
001:
002:
003:
004:
005:
006:
007:
КоличествоСтраниц = КоличествоВсехДанных / КоличествоДанныхНаОднойСтранице
For i As Integer = 1 To КоличествоСтраниц
literal1.Text &= String.Foramt("<a href='/default.aspx?page={0}'>{0}</a>", i)
Next

_______________________
Colorized by: Eros.CodeSyntaxColor Engine

001:
002:
003:
004:
SELECT TOP 10 *, (SELECT COUNT(*) FROM table1) AS TotalRecordCount FROM table1 WHERE id NOT IN (SELECT TOP " & (10 * Текущая страница).ToString() & " id FROM table1 ORDER BY id) ORDER BY id

_______________________
Colorized by: Eros.CodeSyntaxColor Engine


_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Жирная пунктирная линия | Автор: Stuart
Добавлено: 23.07.2008 / 18:38 | ответов: 0 | просмотров: 42

Здравствуйте Друзья!
Подскажите пожалуйста, как в VB6 нарисовать толстую пунктирную линию.

Если рисовать просто пунктирную линию, то я делаю так:
001:
002:
003:
004:
005:
Me.ScaleMode ='3-Pixel
Me.DrawStyle ='3-пунктирная линия
Me.Line (0, 15)-(300, 15) 'Рисую линию

Colorized by: Eros.CodeSyntaxColor Engine

Если просто жирную, то так:
001:
002:
003:
004:
Me.DrawWidth = 2
Me.Line (0, 15)-(300, 15)

Colorized by: Eros.CodeSyntaxColor Engine

Я думал если сделать, вот так вот:
001:
002:
003:
004:
005:
006:
Me.ScaleMode = 3
Me.DrawWidth = 2
Me.DrawStyle = 1
Me.Line (0, 15)-(300, 15)

Colorized by: Eros.CodeSyntaxColor Engine

То у меня нарисуется жирная пунктирная линия, но не фига=(
Может кто знает как нарисовать такую линию ?

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Использование имен переменных в коде на C# | Автор: Юрий.Н
Добавлено: 23.07.2008 / 14:29 | ответов: 5 | просмотров: 161

Здравсвуйте,
Аппликация пишется на C#, ASP.NET 2.0.
Необходимо создать универсальный генератор линков, где по заданному шаблону (маске) будет формироваться URL.
Пример:
...
private string p_regionName = "New Vasuki";
private string p_itemId = "2335";
private string p_urlMask =
"http://www.mysite.info/{%p_regionName%}/products/{%itemId%}/";
URL mask:

public string GetUrl(){
... ... ...
return "http://www.mysite.info/New Vasuki/products/2335/";
}

Метод GetUrl() будет использоваться в разных классах, поэтому имена переменных будут меняться. В C# нет функции eval, можно ли как-то эту задачу?

Спасибо

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 1 | Автор: Алексей
Добавлено:23.07.2008 / 15:03
либо
String.Format("http://www.mysite.info/{0}/products/{1}/", "hello", "world");
либо, можно регулярные выражения использовать.
Если нужен url-реврайтер, то http://aleksey.nemiro.ru/Soft/Complete-Solutions/UrlRewritingNet20.nspx
там регулярки используются, в конфиге прописываются.

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 2 | Автор: Юрий.Н
Добавлено:23.07.2008 / 16:32
Спасибо, Алексей, но это не совсем то... Я просто плохо объяснил задачу... Наверное решение все-таки в Reflection. Тут на эту тему уже сложилась переписка :о)
http://www.gotdotnet.ru/Forums/Web/571230.aspx

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 3 | Автор: Алексей
Добавлено:23.07.2008 / 16:51
Почитал, по-моему все излишне усложняется. Проще всего использовать
String.Format, шаблон url-а хранить для каждых типов продуктов в базе и по нему
уже формировать url.
./product/[prod_id], к другому - ./cha-cha-cha/products/[prod_id]/chu-chu-chu, и т.д.

т.е. в базе будет
./product/{0}
и
./cha-cha-cha/products/{0}/chu-chu-chu
Через String.Format пихать нужные параметры, и все..

Я хочу сделать для каждого продукта свой класс (саб-класс
родительского), одним из свойств которого будет LinkMask, а метод
наложения переменных (в каждом случае разных) на эту маска поместить в
родительский класс. Тогда массив продуктов становиться очень легким
для показа в любых ипостасях.

вполне подходящий ответ, простой и достаточно универсальный, для родителя
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
private static string GetUrl(string urlTemplate, params object[] urlParameters)
  {
    return string.Format(urlTemplate, urlParameters);
  }
  private static string GetUrl(params object[] urlParameters)
  {
    return GetUrl("http://{0}/{1}...", urlParameters);
  }

_______________________
Colorized by: Eros.CodeSyntaxColor Engine


_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 4 | Автор: Алексей
Добавлено:23.07.2008 / 16:54
У каждого, естес-с-с-но, есть id, name, а иногда и groupName.

а если все более ли менее стабильно, то лучше использовать
UrlRewriter, написать несколько шаблонов и все.

001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
<add name="ShowProduct"
     virtualUrl="^~/([\w\d\-\+]+)/([\w\d\-\+]+).aspx"
     rewriteUrlParameter="ExcludeFromClientQueryString"
     destinationUrl="~/Show.aspx?group=$1&amp;product=$2"
     ignoreCase="true"
    />

   <add name="ShowProduct2"
     virtualUrl="^~/([\w\d\-\+]+).aspx"
     rewriteUrlParameter="ExcludeFromClientQueryString"
     destinationUrl="~/Show.aspx?product=$1"
     ignoreCase="true"
    />


_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 5 | Автор: Юрий.Н
Добавлено:23.07.2008 / 17:01
Вы правы. Я и сам, копнул с рефлекшн поглубже, худо стало... Так что , мы пойдем другим путем :о)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


помогите разобратся | Автор: ruid
Добавлено: 23.07.2008 / 11:16 | ответов: 3 | просмотров: 118

Я недавно начал сам разбираться с VB 6.0 и не могу понять как мне обьявить переменную чтобы в нее записывалось значение веденое в текстбоксе и как его (тоесть значение) можно было прописать на второй форме в лейбле заранее спасибо

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 1 | Автор: Игорь Голов
Добавлено:23.07.2008 / 12:44
Всё непросто, а очень просто:
001:
002:
003:
004:
005:
Dim txt As String
txt=me.Text1.Text
Form2.Label1.Caption = txt

Colorized by: Eros.CodeSyntaxColor Engine


Можно намного проще поступить:

001:
002:
003:
Form2.label1.Caption=Form1.Text1.Text

Colorized by: Eros.CodeSyntaxColor Engine


В качестве Form2, Form1,Text1,Label1 нужно подставить имена формы, текстБокса и метки (свойство Name)
Если имена не менялись, можно оставить код как есть
Удачи!

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 2 | Автор: ruid
Добавлено:23.07.2008 / 13:13
спасибо просто надо было мне понять как работает переменная

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 3 | Автор: Игорь Голов
Добавлено:23.07.2008 / 14:26
Переменная - это поименованная область памяти, в которую заносится какое - либо значение.
Переменные разных типов бывают. И размер области памяти, выделяемой переменной,зависит от её типа.

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Наверх

 

Последние статьи

Нестандартная форма
Автор: Zhenik Ipatov | добавлено: 05.05.2008 / 12:42 | просмотров: 694

Первое что бросается в глаза, когда первый раз используешь программу это конечно же её облик, внешний вид. Есть вероятность что если пользователю не понравится внешний вид окна, то он не будет пользоваться продуктом. Значит нам, не побоюсь этого слова, программистам нужно как можно лучше, удобнее, понятнее, красивее и приветливее сделать лицо программы. Нужно как можно эффектнее преподнести программу. С самого первого появления Windows окна получили прямоугольный стандарт и все User Control’ы

Как узнать размер базы данных MySQL через php
Автор: Николай Рудченко | добавлено: 14.02.2008 / 13:01 | просмотров: 1162

В этой небольшой статье вы узнаете, как получить размер вашей базы данных (БД) MySQL используя язык программирования PHP.

Взаимодействие с другими сайтами через HTTP (HttpWebRequest и HttpWebResponse)
Автор: Немиро Алексей | добавлено: 27.07.2007 / 14:01 | просмотров: 6270

В данной статье речь пойдет о том, как можно программно заполнить и отправить Web-форму, а также получить результат с использованием довольно простых классов - HttpWebRequest и HttpWebResponse.

Работа с SQL – Запросы
Автор: Хабибулин А. (aka Bille Gates) | добавлено: 22.07.2007 / 04:43 | просмотров: 10836

В данной статье рассмотрены часто используемые SQL-запросы и приведены примеры их использования.

Использование XML.Serialization
Автор: Немиро Алексей | добавлено: 19.07.2007 / 15:38 | просмотров: 2943

В данном обзоре речь пойдет об использование XML.Serialization в .NET и ее применении на примере сохранения и считывания настроек программы с использованием синтаксиса языка Visual Basic .NET.

 

Статьи на Kbyte.Ru

Наверх

 

Интересные коды и решения

Как сделать часы?
Дата добавления: 16.08.2006 / 23:30 | просмотров: 2822 | платформа: VB

Как программно изменить тему страницы?
Дата добавления: 31.07.2006 / 13:40 | просмотров: 1972 | платформа: ASP .NET (VB)

Запись куков (Cookies)
Дата добавления: 01.08.2006 / 12:00 | просмотров: 1861 | платформа: ASP

Как загрузить текстовой файл целиком?
Дата добавления: 31.07.2006 / 17:12 | просмотров: 1509 | платформа: ASP .NET (VB)

Как запретить пользователю закрыть форму?
Дата добавления: 31.07.2006 / 12:10 | просмотров: 1535 | платформа: VB

Как узнать текущий код статуса HTTP?
Дата добавления: 31.07.2006 / 15:14 | просмотров: 1437 | платформа: ASP .NET (VB)

Как динамически добавить элемент управления?
Дата добавления: 17.08.2006 / 17:02 | просмотров: 2012 | платформа: ASP .NET (VB)

Как ограничить передвижение мыши?
Дата добавления: 16.08.2006 / 19:46 | просмотров: 1535 | платформа: VB

Как заблокировать кнопку "Закрыть" ([X])
Дата добавления: 31.07.2006 / 12:12 | просмотров: 1583 | платформа: VB

Как программано выровнить форму по центру экрана?
Дата добавления: 23.08.2006 / 18:59 | просмотров: 2059 | платформа: VB .NET

 

Универсальные коды на Kbyte.Ru

Наверх

 

Юмор на Kbyte.Ru

Стоят двое возле дороги:
Выпили по 100 грамм и остановили Джип.
Через некоторое время выпили еще по 100 грамм и остановили Мерседес 600.
И еще через некоторое время выпили еще по 100 грамм и остановили все движение.
А что еще делать, ведь гайшники.

 

Рейтинг: 242
Всего голосов: 405
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

- Какие животные живут в тундре?
- Песцы, куропатки и наш папа, который ездит туда в командировку.

 

Рейтинг: 396
Всего голосов: 591
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Вовочка приходит домой.
В: мама, знаешь сегодня что в школе случилось?
-нет.
В: училка несла в класс клей, упала и приклеилась.
- ну и что? Вы ее отодрали?
В: да, а тот, кто смелый, тот и по-два раза...

 

Рейтинг: 252
Всего голосов: 403
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Приходит новый русский в магазин и говорит:
- Дайте мне надувную постель 2 метра в длину, 2 метра в ширину и чтобы внутри морская вода была с подсветкой, рыбками, крабами и всякими морскими штуками.
Ночь, новый русский лег спать на новую постель. Вдруг из постели на него глаз смотрит. Новый русский:
- Ты кто?
- Кто, кто Кусто!

 

Рейтинг: 676
Всего голосов: 981
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

На правах рекламы:
- Саша никогда не стирает свои вещи даже обычным порошком, потому что Сашины вещи теперь стирает Паша!
Осенний призыв: в любом месте веселее вместе!

 

Рейтинг: 234
Всего голосов: 403
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Сидят два программиста в офисе. Вдруг звонок телефонный, на проводе шеф:
- Ну, ребята, чем занимаетесь?
- Козла забиваем!
- В домино играете?!
- Да нет, в DOOM!

 

Рейтинг: 324
Всего голосов: 510
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Три летучие мыши висят вниз головами.
Вдруг одна - рраз - вверх головой.
(1) - ???
(2) - А, это у нее обморок!

 

Рейтинг: 784
Всего голосов: 1010
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Недавно начал работу в фирме коммерческой недвижимости. Сделал им сеть пару недель назад, а до этого, несколько дней бухгалтера данными между компьютерами при помощи флэшки обменивались (фирма экономит на всём, дисководов нет). К одному из компьютеров по USB были подключены принтер и мышь. USB портов в том компьютере всего два, оба и заняли. Подключили, пока меня не было, флэшку, а для этого отключили принтер. Перекинули нужные данные и снова подключили принтер.
Прошло время, звонят мне по телефону и жалуются, мол, принтер не работает, работа стоит, приезжай скорее! Приехал, как только смог, посмотрел настройки принтера - все в норме. Стал подключение принтера к компьютеру смотреть. Каково же было моё изумление, когда я увидел USB коннектор аккуратненько насаженный на штырьки COM порта! До этого, мне даже не представлялось, что такое возможно! Судя по всему, не зря у женщины, осуществившей такое подключение, на рабочем столе изображение девушки, едущей в автомобиле из которого она забыла вынуть пистолет бензозаправки...

 

Рейтинг: 1039
Всего голосов: 1557
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Сидит в ресторане новый русский. На столе икорка, осетрина, коньячек, водочка. Все самое дорогое, по высшему классу. Он, не стесняясь, наворачивает с большим аппетитом. Рядом за столиком семья ботаников ест капустку. Отец с сантиметровыми линзами, мама тоже в очках и худенький сынишка-лицеист в потрепанном пиджачке. Новому русскому стало стыдно. Он подозвал мальчугана мол, пускай поест. Мальчик топчется на месте, стесняется. Мать, поправляя очки:
- Вы знаете, мой сын сыт.
Новый русский:
- Так я и говорю, пускай не ссыт, пускай хавает!!!

 

Рейтинг: 290
Всего голосов: 467
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

- Правда ли, что если проиграть назад диск с Windows'NT, то можно услышать сатанинское послание?
- Это пустяки, вот если проиграть его вперед, он установит вам Windows'NT!

 

Рейтинг: 345
Всего голосов: 539
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Весь юмор на Kbyte.Ru

Наверх


Выпуск подготовил: R-KDR-19826

Редактор: Немиро Алексей

Copyright (c) Nemiro AS, 2005-2007


В избранное