PDA

View Full Version : ( Insert , Delete , Update ) دیتابیس اکسس



saeednews
یک شنبه 15 اسفند 1389, 22:18 عصر
سلام
دستورهای ( Insert , Delete , Update ) برای اعمال تغییرات از تکس بوکس به دیتابیس و رفرش دیتاگرید ویو چیه؟
سایت را جستجو کردم مربوط به sql بود ولی برای اکسس نبود.

saeednews
یک شنبه 15 اسفند 1389, 22:22 عصر
67172
نمای برنامه

saeednews
یک شنبه 15 اسفند 1389, 22:51 عصر
مدیریت سایت اگه فکری برای سرچ کنند خیلی ممنون میشم. جستجو به زبان برنامه نویسی مورد نظر از آوردن جواب متفرقه جلوگیری میکنه

karim orooji
یک شنبه 15 اسفند 1389, 23:20 عصر
مدیریت سایت اگه فکری برای سرچ کنند خیلی ممنون میشم. جستجو به زبان برنامه نویسی مورد نظر از آوردن جواب متفرقه جلوگیری میکنه

سلام
سرچ این سایت خیلی هم عالیه کلماتی که برای سرچ به کار میبری درست نیست دوست عزیز

Hossis
یک شنبه 15 اسفند 1389, 23:30 عصر
اين لينك رو هم بينيى بدرد می خورد یا نه؟ (http://vbnet.gigfa.com/Forum/showthread.php?tid=5&action=lastpost)

saeednews
دوشنبه 16 اسفند 1389, 00:05 صبح
سلام از فایل ضمیمه استفاده کردم
'-----------------کلید ذخیره

Private Sub btnsave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsave.Click
'Me.DataGridView1.Item(0, Me.DataGridView1.CurrentRow.Index).Value = Me.pktxtbx.Text
'Me.DataGridView1.Item(1, Me.DataGridView1.CurrentRow.Index).Value = Me.usrtxtbox.Text
'Me.DataGridView1.Item(2, Me.DataGridView1.CurrentRow.Index).Value = Me.passtxtbox.Text
'Me.DataGridView1.Item(3, Me.DataGridView1.CurrentRow.Index).Value = Me.adminchkbox.Checked
'Me.DataGridView1.Item(4, Me.DataGridView1.CurrentRow.Index).Value = Me.ADchkbox.Checked
Dim con As OleDbConnection = New OleDbConnection(cnString)
Dim command As New OleDbCommand
command.Connection = con
command.CommandText = "update Users set PK=@PK , UserID=@UserID ,Password=@Password , where pk = '" & pktxtbx.Text & "'"
command.Parameters.AddWithValue("pk", Trim(pktxtbx.Text))
command.Parameters.AddWithValue("UserID", Trim(usrtxtbox.Text))
command.Parameters.AddWithValue("Password", Trim(passtxtbox.Text))
con.Open()
command.ExecuteNonQuery()
con.Close()
DataGridView1.Refresh()
End Sub

خطا میده و آپدیت ارور میده....اینم عکس خطا
67177

shahab2025
دوشنبه 16 اسفند 1389, 09:04 صبح
سلام
این سه خط را اینطوری اصلاح کن
command.Parameters.AddWithValue("@pk", Trim(pktxtbx.Text))
command.Parameters.AddWithValue("@UserID", Trim(usrtxtbox.Text))
command.Parameters.AddWithValue("@Password", Trim(passtxtbox.Text))

saeednews
دوشنبه 16 اسفند 1389, 14:39 عصر
متاسفانه بازه همان خطا را داد:گریه:

صفحه را کامل آپلود میکنم (ضمیمه)

کد صفحه را هم کامل میذارم.
--- دوستان و اساتید دست به دامنتان، بلوزتان،تی شرت شلوار و... نه البته هر جایی که خواستید به جای 3نقطه بذارید:متفکر:

Imports System.Data.OleDb

Public Class UserAccountForm

Private Sub UserAccountForm_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
MainForm.UserAccountToolStripMenuItem.Enabled = False
filldgw()
End Sub
'---------------------پرکردن جدول از اطلاعات
Private Sub filldgw()

Dim con As OleDbConnection = New OleDbConnection(cnString)

Dim S2 As String = "SELECT * FROM Users"

Dim ds As New DataSet

Dim objdataadapter As New OleDbDataAdapter(S2, con)

objdataadapter.Fill(ds, "Users")

If con.State = ConnectionState.Closed Then con.Open()

DataGridView1.DataSource = ds

DataGridView1.DataMember = "Users"

End Sub
'-----------------------------update
Public Sub UpdateDataSet()
Dim con As OleDbConnection = New OleDbConnection(cnString)
Dim command As New OleDbCommand
command.Connection = con
command.CommandText = "update Users set PK=@PK , UserID=@UserID ,Password=@Password , where pk = '" & pktxtbx.Text & "'"
command.Parameters.AddWithValue("pk", Trim(pktxtbx.Text))
command.Parameters.AddWithValue("UserID", Trim(usrtxtbox.Text))
command.Parameters.AddWithValue("Password", Trim(passtxtbox.Text))
con.Open()
command.ExecuteNonQuery()
con.Close()
DataGridView1.Refresh()
End Sub
'------------------بستن فرم

Private Sub UserAccountForm_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing

MainForm.UserAccountToolStripMenuItem.Enabled = True

End Sub
'-----------------کلید ذخیره

Private Sub btnsave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsave.Click
'Me.DataGridView1.Item(0, Me.DataGridView1.CurrentRow.Index).Value = Me.pktxtbx.Text
'Me.DataGridView1.Item(1, Me.DataGridView1.CurrentRow.Index).Value = Me.usrtxtbox.Text
'Me.DataGridView1.Item(2, Me.DataGridView1.CurrentRow.Index).Value = Me.passtxtbox.Text
'Me.DataGridView1.Item(3, Me.DataGridView1.CurrentRow.Index).Value = Me.adminchkbox.Checked
'Me.DataGridView1.Item(4, Me.DataGridView1.CurrentRow.Index).Value = Me.ADchkbox.Checked
Dim con As OleDbConnection = New OleDbConnection(cnString)
Dim command As New OleDbCommand
command.Connection = con
command.CommandText = "update Users set PK=@PK , UserID=@UserID ,Password=@Password , where pk = '" & pktxtbx.Text & "'"
command.Parameters.AddWithValue("@pk", Trim(pktxtbx.Text))
command.Parameters.AddWithValue("@UserID", Trim(usrtxtbox.Text))
command.Parameters.AddWithValue("@Password", Trim(passtxtbox.Text))
command.Parameters.AddWithValue("@Password", Trim(passtxtbox.Text))
con.Open()
command.ExecuteNonQuery()
con.Close()
DataGridView1.Refresh()
End Sub

'-----------------کلید لغو
Private Sub btncancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btncancel.Click

Gropbxsave.Enabled = False

CancelToolStripMenuItem.Visible = False

End Sub
'-----------------پیغام سورت

Private Sub DataGridView1_ColumnHeaderMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArg s) Handles DataGridView1.ColumnHeaderMouseClick

MessageBox.Show("مرتب سازی انجام گردید.")

End Sub
'----------------فراخوانی و بازسازی اطلاعات ادیتور گروپ
Private Sub DataGridView1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGridView1.MouseUp

Mov2edit()

End Sub
Private Sub DataGridView1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles DataGridView1.KeyUp

Mov2edit()

End Sub
Private Sub DataGridView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGridView1.DoubleClick

EnabEdit()

End Sub
Private Sub EditToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EditToolStripMenuItem.Click
EnabEdit()
End Sub
Private Sub CancelToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CancelToolStripMenuItem.Click

desEdit()

End Sub
'----------------فعال/غیرفعال سازی ادیتور گروپ
Private Sub EnabEdit()

Gropbxsave.Enabled = True
CancelToolStripMenuItem.Visible = True
ToolStripSeparator2.Visible = True

End Sub
Private Sub desEdit()

Gropbxsave.Enabled = False
CancelToolStripMenuItem.Visible = False
ToolStripSeparator2.Visible = False

End Sub
'----------------انتقال اطلاعات به ادیتور گروپ
Private Sub Mov2edit()

Dim crindx As Integer

crindx = Me.DataGridView1.CurrentRow.Index

If crindx < 0 Then
Exit Sub
End If

Me.pktxtbx.Text = Me.DataGridView1.Item(0, crindx).Value
Me.usrtxtbox.Text = Me.DataGridView1.Item(1, crindx).Value
Me.passtxtbox.Text = Me.DataGridView1.Item(2, crindx).Value
Me.adminchkbox.Checked = Me.DataGridView1.Item(3, crindx).Value
Me.ADchkbox.Checked = Me.DataGridView1.Item(4, crindx).Value

End Sub
End Class

shahab2025
دوشنبه 16 اسفند 1389, 17:12 عصر
سلام
شما دو جا از کدهایی که من گفتم "اصلاح کنید" استفاده کرده اید هر دو را اصلاح کنید (خط 35و36و37) را نیز اصلاح کنید
اگر درست نشد کل پروژه را زیپ کرده و بزارید . من از فایلهایی که پیوست شده است چیزی نفهمیدم

saeednews
دوشنبه 16 اسفند 1389, 21:53 عصر
سلام - مشکل حل نشد که نشد..
سورس کامل برنامه را در یک تاپیک جدید آپ کردم لینک ضمیمه:

http://barnamenevis.org/showthread.php?277735

اگه امکانش بود یک نگاهی بهش بکن.

nice_boy_a
دوشنبه 16 اسفند 1389, 23:36 عصر
سلام از فایل ضمیمه استفاده کردم
'-----------------کلید ذخیره

Private Sub btnsave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsave.Click
'Me.DataGridView1.Item(0, Me.DataGridView1.CurrentRow.Index).Value = Me.pktxtbx.Text
'Me.DataGridView1.Item(1, Me.DataGridView1.CurrentRow.Index).Value = Me.usrtxtbox.Text
'Me.DataGridView1.Item(2, Me.DataGridView1.CurrentRow.Index).Value = Me.passtxtbox.Text
'Me.DataGridView1.Item(3, Me.DataGridView1.CurrentRow.Index).Value = Me.adminchkbox.Checked
'Me.DataGridView1.Item(4, Me.DataGridView1.CurrentRow.Index).Value = Me.ADchkbox.Checked
Dim con As OleDbConnection = New OleDbConnection(cnString)
Dim command As New OleDbCommand
command.Connection = con
command.CommandText = "update Users set PK=@PK , UserID=@UserID ,Password=@Password , where pk = '" & pktxtbx.Text & "'"
command.Parameters.AddWithValue("pk", Trim(pktxtbx.Text))
command.Parameters.AddWithValue("UserID", Trim(usrtxtbox.Text))
command.Parameters.AddWithValue("Password", Trim(passtxtbox.Text))
con.Open()
command.ExecuteNonQuery()
con.Close()
DataGridView1.Refresh()
End Sub

خطا میده و آپدیت ارور میده....اینم عکس خطا
67177


سلام.
این دوتا تک کوتیشن چیه گذاشتی؟ پاکشون کن درست میشه.
command.CommandText = "update Users set PK=@PK , UserID=@UserID ,Password=@Password , where pk = '" & pktxtbx.Text & "'"

این کد رو بنویس

command.CommandText = "update Users set PK=@PK , UserID=@UserID ,Password=@Password , where pk = " & pktxtbx.Text

alimanam
سه شنبه 17 اسفند 1389, 12:32 عصر
با سلام

من سورس شما رو ندیدم . اما یه سورس خیلی ساده نوشته بودم واسه یکی از دوستان حالا ببین اگه باز مشکل داشتی بگو

موفق باشید ./

saeednews
سه شنبه 17 اسفند 1389, 21:08 عصر
سلام.
این دوتا تک کوتیشن چیه گذاشتی؟ پاکشون کن درست میشه.
command.CommandText = "update Users set PK=@PK , UserID=@UserID ,Password=@Password , where pk = '" & pktxtbx.Text & "'"

این کد رو بنویس

command.CommandText = "update Users set PK=@PK , UserID=@UserID ,Password=@Password , where pk = " & pktxtbx.Text


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

shahab2025
چهارشنبه 18 اسفند 1389, 08:26 صبح
سلام
من در برنامه ام که با بانک اکسس 2003 کار میکنه برای اصلاح دقیقا این کدها را نوشته ام و کار هم میکنه
Try
edit_cmd = New OleDbCommand("UPDATE Personnel SET First_Name = @First_Name, Last_Name = @Last_Name, Father_Name = @Father_Name, " & _
"Sex = @Sex, ID_Number = @ID_Number, NationalCode = @NationalCode, Married = @Married, children = @children, " & _
"OffAmount_Days = @OffAmount_Days, OffAmount_Hours = @OffAmount_Hours, OffAmount_Mins = @OffAmount_Mins " & _
"Where PersonnelNumber=@S", cnn)
With edit_cmd.Parameters
.AddWithValue("@First_Name", txtName.Text)
.AddWithValue("@Last_Name", txtFamily.Text)
.AddWithValue("@Father_Name", txtFatherName.Text)
.AddWithValue("@Sex", cmboSex.Text)
.AddWithValue("@ID_Number", txtID_Number.Text)
.AddWithValue("@NationalCode", txtNationalCode.Text)
.AddWithValue("@Married", cmboMarried.Text)
.AddWithValue("@children", txtChildren.Text)
.AddWithValue("@OffAmount_Days", txtFirstOffDay.Text)
.AddWithValue("@OffAmount_Hours", txtFirstOffHours.Text)
.AddWithValue("@OffAmount_Mins", (Val(txtFirstOffDay.Text) * 480) + Val(txtFirstOffHours.Text) * 60)
.AddWithValue("@S", Rows_Counter)
End With
If cnn.State = ConnectionState.Closed Then cnn.Open()
edit_cmd.ExecuteScalar()
cnn.Close()
MsgBox("ذخیره شد")
Me.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try

دقت کن که دستورات کار با اکسس 2007 فرق میکنه . نکنه تو از 2007 استفاده میکنی ؟

asif1358
جمعه 20 اسفند 1389, 03:48 صبح
دوست گرامی ارور برنامه کاملا روشن است؛ شما همان فیلد اصلی را که می خواهید تغییر دهید معیار Update قرار می دهید!
ضمن این که خود دستور Update تون نیز اشتباه است؛ وقتی متغیر برای pk در نظر میگرید باید از همان متغیر استفاده کنید (آخر Update را نگاه کن) نه از تکست باکس

یاشار رضایی نسب
دوشنبه 23 اسفند 1389, 08:31 صبح
سلام
برای کار با اکسس 2007 از چه دستوراتی باید استفاده کرد ؟

shahab2025
دوشنبه 23 اسفند 1389, 10:04 صبح
سلام
برای کار با اکسس 2007 از چه دستوراتی باید استفاده کرد ؟

سلام
منظورت کدام دستور است ؟
چون خیلی از دستوراتش مثل 2003 است ولی کانکشن استرینگش فرق میکنه