Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проблема при одновременном вызове данных
|
|||
|---|---|---|---|
|
#18+
Уважаемые любители ASP.NET! Прошу подсказать: Есть БД на Access, и надо список товаров с картинками показывать по 10 шт. Нажимая NEXT BACK кнопки пользователь переходит к следующим записям. Для перехода я использовал int переменную которую то инкременирую то деинкреминирую. Теперь при одновременном доступе к странице нескольких юзеров, у одного показывает 1-10, у другого 10-20, пропуская предыдущие, и так далее. Подскажите как быть? Спасибо всем! Если не трудно пишите на мой мэйл emil@bit.am ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2006, 17:11 |
|
||
|
Проблема при одновременном вызове данных
|
|||
|---|---|---|---|
|
#18+
Сходу вижу один вариант - где и как определена эта переменная int? Если несколько клиентов начнут изменять значение этой переменой, то вцелом это будет датчик случайных чисел... Нужно либо хранить в сессии, либо в кукисах, либо еще где-то, но персонально для каждого зашедшего на сайт юзера. Или, что более правильно - правильно прописать next и back... к примеру back - линк вида catalog.aspx?page=1 а next - catalog.aspx?page=3...С уважением, Денис ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2006, 17:28 |
|
||
|
Проблема при одновременном вызове данных
|
|||
|---|---|---|---|
|
#18+
Сходу вижу один вариант - где и как определена эта переменная int? Если несколько клиентов начнут изменять значение одной глобальной переменой, то вцелом это будет датчик случайных чисел... Нужно либо хранить в сессии, либо в кукисах, либо еще где-то, но персонально для каждого зашедшего на сайт юзера. Или, что более правильно - правильно прописать next и back... к примеру back - линк вида catalog.aspx?page=1 а next - catalog.aspx?page=3... izvini za nastoichivost', a popodrobnei smojete pomoch? esli nado kod poshlu. spasibo! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2006, 11:35 |
|
||
|
Проблема при одновременном вызове данных
|
|||
|---|---|---|---|
|
#18+
Ну куда уж подробнее:) Показывай код...С уважением, Денис ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2006, 11:46 |
|
||
|
Проблема при одновременном вызове данных
|
|||
|---|---|---|---|
|
#18+
Ну куда уж подробнее:) Показывай код... ........ using System.Data.OleDb; using System.Web.Mail; namespace ASP { /// <summary> /// Summary description for projectgallery. /// </summary> public class projectgallery : System.Web.UI.Page {........... .............................. public static String strtab="Projects"; public int end=0; public static int n=0, num=0; public bool sel=false, count=true; private void Page_Load(object sender, System.EventArgs e) { // Put user code to initialize the page here lblMember.Text=Request.QueryString["Log"]; lblmes.Text=""; lnkmod.NavigateUrl="modify.aspx?Log="+lblMember.Text; //////////////////////// if(count.Equals(true)) { OleDbConnection cn1=new OleDbConnection( "PROVIDER=Microsoft.Jet.OLEDB.4.0;"+ "DATA SOURCE="+ Server.MapPath("Databases/Projects.mdb")); cn1.Open(); OleDbCommand com1=new OleDbCommand(); com1.Connection=cn1; com1.CommandText="SELECT * FROM "+strtab; OleDbDataReader dr1; dr1=com1.ExecuteReader(CommandBehavior.CloseConnection); while(dr1.Read()) { end++; } dr1.Close(); cn1.Close(); } /// OleDbConnection cn=new OleDbConnection( "PROVIDER=Microsoft.Jet.OLEDB.4.0;"+ "DATA SOURCE="+ Server.MapPath("Databases/Projects.mdb")); cn.Open(); OleDbCommand com=new OleDbCommand(); com.Connection=cn; com.CommandText="SELECT * FROM "+strtab; OleDbDataReader dr; dr=com.ExecuteReader(CommandBehavior.CloseConnection); string str="Images/Projects/"; Image1.ImageUrl=str+"empty.jpg"; lblTitle1.Text="Empty"; Image2.ImageUrl=str+"empty.jpg"; lblTitle2.Text="Empty"; Image3.ImageUrl=str+"empty.jpg"; lblTitle3.Text="Empty"; Image4.ImageUrl=str+"empty.jpg"; lblTitle4.Text="Empty"; Image5.ImageUrl=str+"empty.jpg"; lblTitle5.Text="Empty"; Image6.ImageUrl=str+"empty.jpg"; lblTitle6.Text="Empty"; Image7.ImageUrl=str+"empty.jpg"; lblTitle7.Text="Empty"; Image8.ImageUrl=str+"empty.jpg"; lblTitle8.Text="Empty"; Image9.ImageUrl=str+"empty.jpg"; lblTitle9.Text="Empty"; Image10.ImageUrl=str+"empty.jpg"; lblTitle10.Text="Empty"; while(dr.Read()) { if(dr["ID"].Equals(n+1)) { Image1.ImageUrl=str+dr["ImageUrl"].ToString(); lblTitle1.Text=dr["Title"].ToString(); } if(dr["ID"].Equals(n+2)) { Image2.ImageUrl=str+dr["ImageUrl"].ToString(); lblTitle2.Text=dr["Title"].ToString(); } if(dr["ID"].Equals(n+3)) { Image3.ImageUrl=str+dr["ImageUrl"].ToString(); lblTitle3.Text=dr["Title"].ToString(); } if(dr["ID"].Equals(n+4)) { Image4.ImageUrl=str+dr["ImageUrl"].ToString(); lblTitle4.Text=dr["Title"].ToString(); } if(dr["ID"].Equals(n+5)) { Image5.ImageUrl=str+dr["ImageUrl"].ToString(); lblTitle5.Text=dr["Title"].ToString(); } if(dr["ID"].Equals(n+6)) { Image6.ImageUrl=str+dr["ImageUrl"].ToString(); lblTitle6.Text=dr["Title"].ToString(); } if(dr["ID"].Equals(n+7)) { Image7.ImageUrl=str+dr["ImageUrl"].ToString(); lblTitle7.Text=dr["Title"].ToString(); } if(dr["ID"].Equals(n+8)) { Image8.ImageUrl=str+dr["ImageUrl"].ToString(); lblTitle8.Text=dr["Title"].ToString(); } if(dr["ID"].Equals(n+9)) { Image9.ImageUrl=str+dr["ImageUrl"].ToString(); lblTitle9.Text=dr["Title"].ToString(); } if(dr["ID"].Equals(n+10)) { Image10.ImageUrl=str+dr["ImageUrl"].ToString(); lblTitle10.Text=dr["Title"].ToString(); break; } //} } dr.Close(); cn.Close(); } //верхние и нижние кнопки BACK NEXT private void btnBT_Click(object sender, System.EventArgs e) { count=false; n-=10; if(n<=0)n=0; Page_Load( sender, e); } private void btnNT_Click(object sender, System.EventArgs e) { count=false; n+=10; if(n>end-1)n=0; Page_Load( sender, e); } private void btnBB_Click(object sender, System.EventArgs e) { count=false; n-=10; if(n<=0)n=0; Page_Load( sender, e); } private void btnNB_Click(object sender, System.EventArgs e) { count=false; n+=10; if(n>end-1)n=0; Page_Load( sender, e); } ....... . . . . . . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2006, 07:43 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=813&tid=1386933]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
27ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 299ms |

| 0 / 0 |
