التنبيهات التالية ظهرت :
Warning [2] count(): Parameter must be an array or an object that implements Countable - Line: 864 - File: showthread.php PHP 7.4.33 (Linux)
File Line Function
/showthread.php 864 errorHandler->error



تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مساعدة في تعديل كود
#1
السلام عليكم و رحمة الله و بركاته

أرجو المساعدة في تعديل هذا الكود ، عند اضافة كود مزيج من الاحرف و الارقام يقع خطأ ، صورة توضيحية : https://prnt.sc/pu3p5j

كود :
Imports System.Data.OleDb


Module mdlItem
   Dim cmd As New OleDbCommand
   Public dtItem As New DataTable

   Sub loadItem()
       dtItem.Clear()
       cmd = New OleDbCommand("select * from tblItems ", con)
       con.Open()
       dtItem.Load(cmd.ExecuteReader)
       con.Close()
       cmd = Nothing
   End Sub

   Public Sub InsertItem(ByVal code As String, ByVal name As String, ByVal price As Decimal, ByVal qtyStor As Double,
                         ByVal chira As Decimal)
       cmd = New OleDbCommand("insert into tblItems (code, nam, price, qtystor, chira) values (@code, @nam, @price, @qtystor, @chira)", con)
       cmd.Parameters.Add("@code", OleDbType.VarChar).Value = code
       cmd.Parameters.Add("@nam", OleDbType.VarChar).Value = name
       cmd.Parameters.Add("@price", OleDbType.Currency).Value = price
       cmd.Parameters.Add("@qtystore", OleDbType.Double).Value = qtyStor
       cmd.Parameters.Add("@chira", OleDbType.Currency).Value = chira
       con.Open()
       cmd.ExecuteNonQuery()
       con.Close()
       cmd = Nothing
   End Sub
   Public Sub UpdateItem(ByVal name As String, ByVal price As Decimal, ByVal qtystor As Double,
                         ByVal code As Integer, ByVal chira As Decimal)
       cmd = New OleDbCommand("Update tblItems set nam=@nam, price=@price, qtyStor=@qtyStor, chira=@chira where code=" & code, con)

       cmd.Parameters.Add("@nam", OleDbType.VarChar).Value = name
       cmd.Parameters.Add("@price", OleDbType.Currency).Value = price
       cmd.Parameters.Add("@qtystore", OleDbType.Double).Value = qtystor
       cmd.Parameters.Add("@chira", OleDbType.Currency).Value = chira
       con.Open()
       cmd.ExecuteNonQuery()
       con.Close()
       cmd = Nothing
   End Sub

   Public Sub DeleteItem(ByVal code As String)
       cmd = New OleDbCommand("delete from tblItems where code=@code", con)
       cmd.Parameters.Add("@code", OleDbType.VarChar).Value = code
       con.Open()
       cmd.ExecuteNonQuery()
       con.Close()
       cmd = Nothing
   End Sub
End Module

كود :
Imports System.Data.OleDb
Public Class frmItems
   Dim da As OleDbDataAdapter
   Dim cmdb As OleDbCommandBuilder

   Sub actTXTitem()
       txtCode.Enabled = True
       txtName.Enabled = True
       txtPrice.Enabled = True
       txtQty.Enabled = True
       txtchira.Enabled = True
       txtCode.Focus()
   End Sub
   Sub desActTXTitem()
       txtCode.Enabled = False
       txtName.Enabled = False
       txtPrice.Enabled = False
       txtQty.Enabled = False
       txtchira.Enabled = False
   End Sub
   Sub clearTXTitem()
       txtCode.Clear()
       txtName.Clear()
       txtPrice.Clear()
       txtQty.Clear()
       txtchira.Clear()
   End Sub
   Private Sub frmItems_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       loadItem()
       dgvItem.DataSource = dtItem
       dgvItem.Columns(0).Width = 100
       dgvItem.Columns(1).Width = 150
       dgvItem.Columns(2).Width = 100
       dgvItem.Columns(3).Width = 100
       dgvItem.Columns(4).Width = 100
       dgvItem.Columns(5).Width = 100

       dgvItem.Columns(0).HeaderText = "الكود"
       dgvItem.Columns(1).HeaderText = "الصنف"
       dgvItem.Columns(2).HeaderText = "سعر البيع"
       dgvItem.Columns(3).HeaderText = "سعر الشراء"
       dgvItem.Columns(4).HeaderText = "الكمية المخزنة"
       dgvItem.Columns(5).HeaderText = "الكمية المتبقية"

   End Sub
   Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click
       clearTXTitem()
       actTXTitem()
   End Sub
   Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
       If txtCode.Text = "" Or txtName.Text = "" Or txtPrice.Text = "" Or txtchira.Text = "" Or txtQty.Text = "" Then
           MsgBox("أكمل الحقول الفارغة")
           Exit Sub
       End If
       Try
           If txtCode.Enabled = True Then
               For i As Integer = 0 To dgvItem.Rows.Count - 1
                   If txtCode.Text = dgvItem.Rows(i).Cells(1).Value Then
                       MsgBox("  هذاالصنف موجود من قبل  " + txtCode.Text)
                       Exit Sub
                   End If
               Next
               InsertItem(txtCode.Text, txtName.Text, txtPrice.Text, txtQty.Text, txtchira.Text)
               loadItem()
               MsgBox("تم التحديث بنجاح")
           Else
               UpdateItem(txtName.Text, txtPrice.Text, txtQty.Text, txtCode.Text, txtchira.Text)
               loadItem()
               MsgBox("تم التحديث بنجاح")
           End If
       Catch ex As Exception
           MsgBox(ex.Message, MsgBoxStyle.Critical, "خطأ ... راجع البيانات المدخله !")
       Finally
           con.Close()
       End Try
       txtSearch.Clear()
       clearTXTitem()
       desActTXTitem()
   End Sub

   Private Sub btnUpdate_Click(sender As Object, e As EventArgs) Handles btnUpdate.Click
       Try
           actTXTitem()
           txtCode.Enabled = False
           txtCode.Text = dgvItem.CurrentRow.Cells(0).Value
           txtName.Text = dgvItem.CurrentRow.Cells(1).Value
           txtPrice.Text = dgvItem.CurrentRow.Cells(2).Value
           txtchira.Text = dgvItem.CurrentRow.Cells(3).Value
           txtQty.Text = dgvItem.CurrentRow.Cells(4).Value
       Catch ex As Exception
           MsgBox(ex.Message, MsgBoxStyle.Critical, "تأكد من وجود بيانات !")
       Finally
           con.Close()
       End Try
   End Sub

   Private Sub btnDelete_Click(sender As Object, e As EventArgs) Handles btnDelete.Click
       Try
           If MessageBox.Show("هل تريد بالفعل حذف : " + dgvItem.CurrentRow.Cells(1).Value, "عملية الحذف ", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) = Windows.Forms.DialogResult.Yes Then
               MsgBox("تم حذف  : " + dgvItem.CurrentRow.Cells(1).Value, MsgBoxStyle.Information, "تم الحذف")
               DeleteItem(dgvItem.CurrentRow.Cells(0).Value)
               loadItem()
           Else
               MsgBox("تم الغاء عملية حذف  : " + dgvItem.CurrentRow.Cells(1).Value, MsgBoxStyle.Exclamation, "تم الغاء الحذف")
               loadItem()
           End If
       Catch ex As Exception
           MsgBox(ex.Message, MsgBoxStyle.Critical, "تأكد من وجود بيانات !")
       Finally
           con.Close()
       End Try
   End Sub

   Private Sub txtSearch_TextChanged(sender As Object, e As EventArgs) Handles txtSearch.TextChanged
       Try
           cmdb = New OleDbCommandBuilder(da)
           Dim dtSearch As DataTable = dtItem.Copy
           Dim dv As DataView = dtSearch.DefaultView
           dv.RowFilter = "code + nam LIKE '%" & txtSearch.Text & "%'"
           dgvItem.DataSource = dv
       Catch ex As Exception
           Exit Sub
       End Try
   End Sub

End Class
------------------------
منكم أتعلم
------------------------

الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
مساعدة في تعديل كود - بواسطة sofiane-phy - 08-11-19, 12:26 PM
RE: مساعدة في تعديل كود - بواسطة sofiane-phy - 08-11-19, 01:17 PM
RE: مساعدة في تعديل كود - بواسطة sofiane-phy - 08-11-19, 02:31 PM
RE: مساعدة في تعديل كود - بواسطة baha - 08-11-19, 04:07 PM
RE: مساعدة في تعديل كود - بواسطة sofiane-phy - 08-11-19, 04:56 PM
RE: مساعدة في تعديل كود - بواسطة sofiane-phy - 08-11-19, 08:17 PM
RE: مساعدة في تعديل كود - بواسطة sofiane-phy - 08-11-19, 11:51 PM


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم