منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : مشكله في اضافه التاريخ في قاعده البيانت
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمه الله


اخواني الكريم


انا عندي قاعده بيانات اكسيس وصممت برنامج على vb.net 2010

انا المشكله عندي عندما اقوم بعملي هالبحث واريد ان اعمل تعديل يظهر لي خطأ والظاهر انه في التاريخ

هذا هو الكود المستعمل

كود :
Imports System.Data
Imports JbsaPrintDataGridView
Imports System.Data.OleDb
Public Class FormRecodSearch
    Dim frm As New RecordMain
    Dim ConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source =" & Application.StartupPath & "\Database.mdb"
    Dim Conn As New OleDbConnection(ConStr)
    Dim DataSet1 As New DataSet
    Dim SQLstr As String
    Dim m As String
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Static m As Integer = 0
        If TextBox1.Text = Trim("") Then Exit Sub
        If RadioButton4.Checked = True Then
            ExactSearch()
        ElseIf RadioButton5.Checked = True Then
            GeneralSearch()
        End If
        Conn.Open()
        Dim DataAdapter1 As New OleDbDataAdapter(SQLstr, Conn)
        DataAdapter1.Fill(DataSet1, "TheTable")
        Conn.Close()

        TextBox2.DataBindings.Add("Text", DataSet1, "TheTable.Code")
        TextBox3.DataBindings.Add("Text", DataSet1, "TheTable.Mall")
        TextBox4.DataBindings.Add("Text", DataSet1, "TheTable.Expiry_date_repairs")
        TextBox5.DataBindings.Add("Text", DataSet1, "TheTable.Repair_Cost")
        TextBox6.DataBindings.Add("Text", DataSet1, "TheTable.Description_repairs")




        DataGridView1.DataSource = DataSet1
        DataGridView1.DataMember = "TheTable"
        Button1.Enabled = False
        If Me.BindingContext(DataSet1, "TheTable").Count = 0 Then
            MsgBox("No Result, Please Try Again ")
            Exit Sub
        End If
        Button1.Enabled = True
        Button1.Enabled = True
    End Sub
    Public Sub ExactSearch()
        If RadioButton1.Checked = True Then
            SQLstr = "SELECT * FROM TheTable WHERE Code = '" & TextBox1.Text & "'"
        End If
    End Sub
    Public Sub GeneralSearch()
        If RadioButton1.Checked = True Then
            SQLstr = "SELECT * FROM TheTable WHERE Code LIKE '%" & TextBox1.Text & "%'"
        End If
    End Sub


    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

        TextBox2.ReadOnly = False
        TextBox3.ReadOnly = False
        TextBox5.ReadOnly = False
        TextBox6.ReadOnly = False
        m = TextBox2.Text
    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

        Dim SavInto As New OleDb.OleDbCommand
        Dim adapter2 As New OleDbDataAdapter(SQLstr, Conn)
        SavInto.Connection = Conn
        SavInto.CommandType = CommandType.Text
        SavInto.CommandText = "UPDATE TheTable SET Mall = '" & Trim(TextBox3.Text) & "' , Expiry_date_repairs = '" & TextBox4.Value.ToShortDateString() & "' , Repair_Cost= '" & Trim(TextBox5.Text) & "' , Description_repairs= '" & Trim(TextBox6.Text) & "', WHERE Code ='" & m & "'"
        Conn.Open()
        SavInto.ExecuteNonQuery()
        Conn.Close()

        TextBox2.ReadOnly = True
        TextBox3.ReadOnly = True
        TextBox5.ReadOnly = True
        TextBox6.ReadOnly = True



    End Sub

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click

        TextBox2.ReadOnly = True
        TextBox3.ReadOnly = True
        TextBox5.ReadOnly = True
        TextBox6.ReadOnly = True

    End Sub

    Private Sub GroupBox1_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GroupBox1.Enter

    End Sub

    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
        TextBox2.DataBindings.Clear()
        TextBox3.DataBindings.Clear()
        TextBox4.DataBindings.Clear()
        TextBox5.DataBindings.Clear()
        TextBox6.DataBindings.Clear()

        TextBox2.Text = ""
        TextBox3.Text = ""
        TextBox4.Text = ""
        TextBox5.Text = ""
        TextBox6.Text = ""
        
        Button1.Enabled = True
        SQLstr = ""
        DataSet1.Clear()
        Me.DataGridView1.DataSource = Nothing
    End Sub

    Private Sub GroupBox2_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GroupBox2.Enter

    End Sub

    Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
        RecordMain.Show()
        Me.Close()

    End Sub

    Private Sub Form6_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub ButtonX1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonX1.Click
        PrintJbsaDataGridView.Print_Grid(Me.DataGridView1)
    End Sub
End Class

الخطأ هو

كود :
Syntax error in UPDATE statement.

اتمنى المساعده

ولكم جزيل الشكر
انا اظن بان الخطأ في هذا الجزء من الكود

كود :
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

        Dim SavInto As New OleDb.OleDbCommand
        Dim adapter2 As New OleDbDataAdapter(SQLstr, Conn)
        SavInto.Connection = Conn
        SavInto.CommandType = CommandType.Text
        SavInto.CommandText = "UPDATE TheTable SET Mall = '" & Trim(TextBox3.Text) & "' , Expiry_date_repairs = '" & TextBox4.Value.ToShortDateString() & "' , Repair_Cost= '" & Trim(TextBox5.Text) & "' , Description_repairs= '" & Trim(TextBox6.Text) & "', WHERE Code ='" & m & "'"
        Conn.Open()
        SavInto.ExecuteNonQuery()
        Conn.Close()

        TextBox2.ReadOnly = True
        TextBox3.ReadOnly = True
        TextBox5.ReadOnly = True
        TextBox6.ReadOnly = True



    End Sub
اتمنى المساعده يا اخوووواااان
اخواني الكرام الرجاء المساعده
اخواني الرجاء مساعدتي فانا في امس الحاجه لهذا الكود
استخدم الاضافة بالبارمترات افضل واسهل
اخي الكريم سعود شكرا على الرد

ولكن هل يمكن استخدام البارمترات في عمل update لقاعده البيانات ام فقط insert
انا اريد ان اعمل update اخي الكريم

اتمنى المساعده
ميزة الاضافة بالبارامترات (عندي شخصيا) التعامل مع كل عمود بسطر مستقل بالكود مثال
كود :
dim cm as new oledbcommand("update tb set tname=@tname,age=@age where tid=@tid",con)
cm.parameters.addwithvalue("@tname",oledbtype.varchar).value=tname.text
cm.parameters.addwithvalue("@age",oledbtype.integer).value=val(age.text)
cm.parameters.addwithvalue("@tid",oledbtype.integer).value=val(tid.text)

con.open
try
cm.executenonquery
msgbox"تم التحديث بنجاح"
Catch ex As Exception
msgbox(err.description)
end try


لاحظ جملة oledbtype.varchar
هذي نوع البيانات المخزن يختلف من نوع لنوع
اخي الكريم سعود جزالك ال هكل خير

انا استعملت الكود

ولكنه يقوم بكتاب جميع المدخلات بنفس القيمه لكل العمود المحدد

انا استعملته في عمليت البحث

اريد ان يعدل على الصف المحدد فقط

والتاريخ عند حفظه ياتي بهذي الصيغه لا ادري لماذا
2/8/1904

مع العمل انه تم الحفظ بتاريخ 17/03/2013

اتمنى مساعدتي
لما يكون العمود الذي نستعلم عنه مفتاح اساسي لا يتكرر او ترقيم تلقائي لن تحدث تكرارات لقيم.