PDA

View Full Version : بازماندن ارتباط با اكسس



pedram_ns
شنبه 27 شهریور 1389, 08:15 صبح
سلام
من يك نقشه ساختمكه در واقع چند تصوير كوچك در كنار هم در يك جدوله كه با update panel كار مي كنه و چند دكمه براي حركت در نقشه داشتم كه با كليك اون مثلا به سمت راست نقشه ميره.
من ارتباط با اكسس بر قرار مي كنم و اطلاعات رو مي خونم و تصاوير مربوطه رو نشون مي دم در پايان هم ارتباط با اكسس رو مي بندم.
در رويداد دكمه هاي حركت هم بسته به نوع حركت تصاوير ديگه ايي رو نشون مي دم


همه چيز درست كار مي كنه و اطلاعات خونده مي شه ولي وقتي يكي از دكمه هاي حركت در نقشه رو مي زنم ارتباط با اكسس باز مي شه و همينطور باز مي مونه در حالي كه در كدهاي رويداد اين دكمه ها اصلا كد ارتباط با ديتابيس ندارم.
چه مشكلي ميتونه باشه؟


كد هام اينهاست:


Dim id As String
002. id = Request.QueryString("id")
003.
004. If id = "" Then
005.
006. // خونون مقدار جستجو شده توسط كاربر و تفكيك كلمات و ايجاد متغير فيلدس
007.
008.try
009.Dim con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|database.mdb")
010. Dim selectsql As String = String.Format("SELECT * FROM [map] WHERE search Like {0}", fields)
011.
012.
013. Dim cmd As New OleDbCommand(selectsql, con)
014. Dim reader As OleDbDataReader
015. con.Open()
016.
017. reader = cmd.ExecuteReader()
018. reader.Read()
019.
020.
021. Dim ro As New StringBuilder()
022. ro.Append(reader("row"))
023. Dim row As String
024. row = ro.ToString
025.
026. Dim col As New StringBuilder()
027. col.Append(reader("column"))
028. Dim column As String
029. column = col.ToString
030.
031.
032. reader.Close()
033.
034. Hiddenrow.Value = row
035. Hiddencolumn.Value = column
036.
037. Dim adapter As New OleDbDataAdapter(cmd)
038. Dim ds As New DataSet()
039.
040. adapter.Fill(ds, "map")
041.
042.
043. DataList1.DataSource = ds
044. DataList1.DataBind()
045.
046.
047. // خوندن عكس ها
048.
049. con.Close()
050. Panel5.Visible = True
051. Panel6.Visible = True
052. Panel9.Visible = True
053. Panel8.Visible = False
054. Label1.Text = map
055.
056. Catch ex As Exception
057. Dim row As String = 13
058. Dim column As String = 17
059.
060. Hiddencolumn.Value = 17
061. Hiddenrow.Value = 13
062.
063. //خوندن عكس ها
064. Panel8.Visible = True
065. Panel6.Visible = True
066. Panel9.Visible = False
067. Panel5.Visible = False
068.
069.
070. End Try
071.
072. Else
073.
074.
075. Try
076. Int(id = Convert.ToInt32(id))
077.
078. Catch ex As Exception
079. Response.Redirect("~/searchmap.aspx")
080. End Try
081.
082. Try
083.
084.
085. Dim con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|database.mdb")
086. Dim cmd As New OleDbCommand("select * from map where id=?", con)
087. cmd.Parameters.AddWithValue("id", id)
088.
089. Dim reader As OleDbDataReader
090. con.Open()
091. reader = cmd.ExecuteReader()
092. reader.Read()
093.
094.
095. Dim ro As New StringBuilder()
096. ro.Append(reader("row"))
097. Dim row As String
098. row = ro.ToString
099.
100. Dim col As New StringBuilder()
101. col.Append(reader("column"))
102. Dim column As String
103. column = col.ToString
104.
105.
106.
107. reader.Close()
108.
109. Dim adapter As New OleDbDataAdapter(cmd)
110. Dim ds As New DataSet()
111.
112. adapter.Fill(ds, "map")
113.
114.
115. DataList1.DataSource = ds
116. DataList1.DataBind()
117.
118. Hiddencolumn.Value = column
119. Hiddenrow.Value = row
120.
121. //خوندن عكس ها
122.
123. con.Close()
124.
125.
126. Panel5.Visible = False
127. Panel6.Visible = True
128. Panel9.Visible = True
129. Panel8.Visible = False
130.
131. Catch ex As Exception
132. Dim row As String = 13
133. Dim column As String = 17
134.
135. Hiddencolumn.Value = 17
136. Hiddenrow.Value = 13
137.
138. //خوندن عكس ها
139.
140.
141.
142. Panel8.Visible = True
143. Panel6.Visible = True
144. Panel9.Visible = False
145. Panel5.Visible = False
146.
147. End Try
148.
149. End If
150.
151. End Sub
152.
153. Protected Sub right_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles right.Click
154.
155.
156. Dim row As String
157. Dim column As String
158. row = Request.Form("hiddenrow")
159. column = Request.Form("hiddencolumn")
160. If column <> 27 Then
161. column = column + 1
162. End If
163.
164. // خوندن عكس ها
165.
166. Hiddenrow.Value = row
167. Hiddencolumn.Value = column
168.
169. End Sub


يه توضيح بدم كه نقشه بر اساس شماره id و همچنين كلمه سرچ شده انجام مي شه.
هر كلمه با يك الگوريتم تفكيك مي شه و بصورت متغير fileds در مياد تا اگه چند كلمه ايي بود هر كلمه بصورت جدا سرچ بشه.

pedram_ns
شنبه 27 شهریور 1389, 12:42 عصر
كسي نظري نداره؟

Ali_M.Eghbaldar
شنبه 27 شهریور 1389, 16:12 عصر
کلا کار با ACCESS در وب یعنی !! درده سر.
توصیه : برو سراغ MS SQL

persian_bigboy
شنبه 27 شهریور 1389, 22:01 عصر
نظر اینکه access برای وب یک اشتباه بزرگ هست و سرعتش هم بسیار پایین و در نتیجه دچار چنین مشکلاتی زیاد میشی و اگه اپتیماز کار نکنی دیگه فاتحه پروژه خوندست . برای بازدید و کارایی بالا
--------------------
راسی با ConState کار کن ، اگر که باز بود ببند و دوباره باز کن . مشکل شما حل میشه در ضمن این حالالت state برروی شیئConnection Oledb هستش