سلام
دستورهای ( Insert , Delete , Update ) برای اعمال تغییرات از تکس بوکس به دیتابیس و رفرش دیتاگرید ویو چیه؟
سایت را جستجو کردم مربوط به sql بود ولی برای اکسس نبود.
Printable View
سلام
دستورهای ( Insert , Delete , Update ) برای اعمال تغییرات از تکس بوکس به دیتابیس و رفرش دیتاگرید ویو چیه؟
سایت را جستجو کردم مربوط به sql بود ولی برای اکسس نبود.
ضمیمه 67172
نمای برنامه
مدیریت سایت اگه فکری برای سرچ کنند خیلی ممنون میشم. جستجو به زبان برنامه نویسی مورد نظر از آوردن جواب متفرقه جلوگیری میکنه
مدیریت سایت اگه فکری برای سرچ کنند خیلی ممنون میشم. جستجو به زبان برنامه نویسی مورد نظر از آوردن جواب متفرقه جلوگیری میکنه
سلام
سرچ این سایت خیلی هم عالیه کلماتی که برای سرچ به کار میبری درست نیست دوست عزیز
سلام از فایل ضمیمه استفاده کردم
'-----------------کلید ذخیره
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.Parameters.AddWithValue("@pk", Trim(pktxtbx.Text))
command.Parameters.AddWithValue("@UserID", Trim(usrtxtbox.Text))
command.Parameters.AddWithValue("@Password", Trim(passtxtbox.Text))
متاسفانه بازه همان خطا را داد:گریه:
صفحه را کامل آپلود میکنم (ضمیمه)
کد صفحه را هم کامل میذارم.
--- دوستان و اساتید دست به دامنتان، بلوزتان،تی شرت شلوار و... نه البته هر جایی که خواستید به جای 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
سلام
شما دو جا از کدهایی که من گفتم "اصلاح کنید" استفاده کرده اید هر دو را اصلاح کنید (خط 35و36و37) را نیز اصلاح کنید
اگر درست نشد کل پروژه را زیپ کرده و بزارید . من از فایلهایی که پیوست شده است چیزی نفهمیدم
سلام - مشکل حل نشد که نشد..
سورس کامل برنامه را در یک تاپیک جدید آپ کردم لینک ضمیمه:
https://barnamenevis.org/showthread.php?277735
اگه امکانش بود یک نگاهی بهش بکن.
سلام.
این دوتا تک کوتیشن چیه گذاشتی؟ پاکشون کن درست میشه.
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
با سلام
من سورس شما رو ندیدم . اما یه سورس خیلی ساده نوشته بودم واسه یکی از دوستان حالا ببین اگه باز مشکل داشتی بگو
موفق باشید ./
سلام
من در برنامه ام که با بانک اکسس 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 استفاده میکنی ؟
دوست گرامی ارور برنامه کاملا روشن است؛ شما همان فیلد اصلی را که می خواهید تغییر دهید معیار Update قرار می دهید!
ضمن این که خود دستور Update تون نیز اشتباه است؛ وقتی متغیر برای pk در نظر میگرید باید از همان متغیر استفاده کنید (آخر Update را نگاه کن) نه از تکست باکس
سلام
برای کار با اکسس 2007 از چه دستوراتی باید استفاده کرد ؟