PDA

View Full Version : درخواست یک تکه کد



Hossein Bazyan
جمعه 30 شهریور 1386, 10:25 صبح
سلام
من جستجو کردم اما پیدا نکردم .
من تازه ASP.NET را شروع کرده ام . در نحوه ذخیره و جستجو در بانک مشکل دارم. بانک را باز میکنم و رکورد به رکورد جلو و عقب میرم اما هنگامی که میخوان ذخیره کنم خطا میده . در ضمن شیوه جستجو را هم بلد نیستم
تکه کدی که من برای ذخیره نوشته ام به شکل زیر است .
از دوستان تقاصا دارم که دو تابع یکی برای جستجو و دیگری برای حذف و اضافه رکورد برام بذارند.
در ضمن بانک من Access میباشد.
مرسی

Protected Sub DataBaseOpening()
m_cnADONetConnection.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Mijn projecten\ASP.NET\BiogasASP\Biogas.mdb"
m_cnADONetConnection.Open()
m_daDataAdapter = New OleDb.OleDbDataAdapter("SELECT * FROM Medewerker", m_cnADONetConnection)
m_cbCommandBuilder = New OleDb.OleDbCommandBuilder(m_daDataAdapter)
m_daDataAdapter.Fill(m_dtContacts)
m_rowPosition = m_dtContacts.Rows.Count
End Sub
Protects Sub Save()
dim drNewRow as DataRow = m_dtContacts.NewRow
With Me
drNewRow("RegisterDate") = .Calendar.TodaysDate '.txtdate.Text
drNewRow("DoorKiesNumber") = Microsoft.VisualBasic.Val(.txtDoor.Text)
drNewRow("EmailAdres") = .txtEmail.Text
drNewRow("HuisNummer") = .txthuisNummer.Text
drNewRow("Password") = .txtPassword.Text
drNewRow("Plaats") = .txtPlats.Text
drNewRow("PostCode") = .txtPostCode.Text
drNewRow("ProjectMedewerkerID") = .txtProjectMID.Text
drNewRow("TelefoonMobile") = .txtTelMobile.Text
drNewRow("TelefoonPrive") = .txtTelPrive.Text
drNewRow("TelefoonZaak") = .txtTelZaak.Text
drNewRow("Title") = .txtTitle.Text
drNewRow("Username") = .txtUsername.Text
drNewRow("VoorNaam") = .txtVoornaam.Text
drNewRow("Access") = .txtAccess.Text
drNewRow("Achternaam") = .txtAchternaam.Text
drNewRow("Land") = .cboLand.Text
drNewRow("Provincie") = .cboProvincie.Text
End With
m_dtContacts.Rows.Add(drNewRow)
m_daDataAdapter.Update(m_dtContacts)
End Sub

اینهم پیغام خطایی که میده

Syntax error in INSERT INTO statement.

asgari2005
جمعه 30 شهریور 1386, 10:43 صبح
دوست گرامی شما هیچ object برای درج در بانک تعریف نکرده اید به نظر اگر به درستی جستجو در اینترنت کنید 100 در صد مطالبی جامعی پیدا خواهید کرد لطفا به این سایت مراجعه کنید
http://www.srco.ir

Hossein Bazyan
جمعه 30 شهریور 1386, 10:55 صبح
دوست گرامی شما هیچ object برای درج در بانک تعریف نکرده اید به نظر اگر به درستی جستجو در اینترنت کنید 100 در صد مطالبی جامعی پیدا خواهید کرد لطفا به این سایت مراجعه کنید
http://www.srco.ir

سلام
جستجو کردم اما مزالب خیلی وسیع است و وقت خیلی زیادی میبره اگر تکه کدی دم دست داشته باشی ممنون میشم

ehsan2007
جمعه 30 شهریور 1386, 11:11 صبح
برای جستجو شما میتونی این کارو انجام بدی



Imports System.Data
Imports System.Data.OleDb
Partial Class _Default
Inherits System.Web.UI.Page
Dim ds As New DataSet()
Dim strcon, strsql, p, g, v As String
Dim con As OleDbConnection
Dim dr As OleDbDataReader
Dim cmd As OleDbCommand
Dim cb As OleDbCommandBuilder
Dim k As Boolean = True
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
strcon = ("provider=microsoft.jet.oledb.4.0;Data Source=" & Server.MapPath("fpdb/box.mdb"))
strsql = "Select * from box"
con = New OleDbConnection(strcon)
con.Open()
cmd = New OleDbCommand(strsql, con)
dr = cmd.ExecuteReader()
While k And dr.Read()
p = dr("email")
v = dr("link")
g = dr("ip")
If p = TextBox1.Text Or g = ClientIPAdress Or v = TextBox3.Text Then
k = False
End If
End While


که ایمیل و آیپی و لینک افرادو جستجو میکنه توی دیتا ست
موفق باشی

Hossein Bazyan
جمعه 30 شهریور 1386, 11:16 صبح
سلام
مرسی دوست عزیز دارم امتحان میکنم

Hossein Bazyan
جمعه 30 شهریور 1386, 12:31 عصر
سلام
من کر را امتحان کردم و کار میکنه اما این روش یه خورده غیر منطقی به نظر میاد
به این دلیل که در این شیوه برای پیدا کردن رکورد تمامی رکوردها جستجو میشوند و در دیتابیسهای بزرگ مثلا با 100000 رکورد زمان زیادی صرف این کا میشود .
آیا راه دیگری نداره ؟

ehsan2007
جمعه 30 شهریور 1386, 15:55 عصر
من که از این روش استفاده میکنم ولی منطقی هستش چون شما هر بار که وصل میشید به دیتابیس کل فیلدها میاد توی دیتاست که تعریف کردید بعد توی اون جستجو میشه نه توی خود دیتابیس
فکر کنم اینجوری باشه

nazaninam
جمعه 30 شهریور 1386, 17:14 عصر
بله این روش دقیقا خود غیر منطقی است ، شما برای جستجو از دستور Like استفاده کنید !
کافیه داخل این انجمن در مورد کلمه Like جستجو کنی تا نحوه جستجو در بانک اطلاعاتی را به صورت منطقی و اصولی درک کنی
موفق و پیروز باشی

Hossein Bazyan
دوشنبه 02 مهر 1386, 21:49 عصر
سلام
دوستان دو تا از سوالات من بیجواب ماندند . یکی در مورد شیوه ذخیره اطلاعات و دیگری حذف اطلاعات از بانک Access

mr_mtc
سه شنبه 03 مهر 1386, 21:18 عصر
به نظر من هم جستجوی سمت بانک بهتره

شما برای جستجو می تونید از دستور Like در query تون استفاده کنید و نتایج رو نمایش بدید



string strSQLCommand = "Select * From [tableName] where [fieldSearchedName] LIKE N'%" + txtSearchBox.Text + "%' Order by [fieldTableID] DESC"


فکر نمیکنم قسمت نامفهوم داشته باشه
فقط یک نکته (N) قبل از مقدار جستجو برای اینه که دیتا فارسی رو هم بگرده