الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

اش خطا في الكود؟؟؟

بدأه جنوبيه في 15 مايو 2011 · 16 رد · 621 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لسلام عليكم

انا راح ادخل في موضوع

انا سويت شاشة للفواتير

ووضعت الاكواد بس لما عملت رن ما اشتغل معايه ازارير المعالجه

وهذا الكود اللى كتبته

Imports System.Data.SqlClient

Public Class frm_invoices

Dim MyCommand

Dim ds As New DataSet

Dim da 'As New SqlDataAdapter("select * from invoices", cn)

Dim MyReader As SqlDataReader

Function fillform()

cn.Open()

MyCommand = New SqlCommand("select * FROM invoices WHERE invoice_id ='" & Invoice_idTextBox.Text & "' ", cn)

Try

MyReader = MyCommand.ExecuteReader()

Catch c As Exception

MsgBox(c.ToString)

Finally

End Try

While MyReader.Read

NameTextBox1.Text = MyReader("emp_name")

TotalTextBox.Text = MyReader("total")

NameTextBox.Text = MyReader("name")

DateDateTimePicker.DateTimePickerAccessibleObject = MyReader("date")

TextBox1.Text = MyReader("Foundation")

End While

cn.Close()

MyReader.Close()

MyCommand.Dispose()

End Function

Function updatefields()

Dim str2 As String = "update invoices SET Foundation ='" & TextBox1.Text & "' ,date ='" & DateDateTimePicker.DateTimePickerAccessibleObject & "', name = '" & NameTextBox.Text.Text & "' , total ='" & TotalTextBox.Text.Text & "', emp_name ='" & NameTextBox1.Text.Text & "'WHERE invoice_id ='" & Invoice_idTextBox.Text & "' "

MyCommand = New SqlCommand(str2, cn)

MyCommand.ExecuteNonQuery()

cn.Close()

MyCommand.Dispose()

End Function

Function deletefield()

Dim del As String = "delete FROM invoices WHERE invoice_id ='" & Invoice_idTextBox.Text & "'"

cn.Open()

MyCommand = New SqlCommand(del, cn)

MyCommand.ExecuteNonQUery()

MyCommand.dispose()

End Function

Function clear()

Invoice_idTextBox.Text = ""

TextBox1.Text = ""

DateDateTimePicker.DateTimePickerAccessibleObject = ""

NameTextBox.Text = ""

TotalTextBox.Text = ""

NameTextBox1.Text = ""

End Function

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

'TODO: This line of code loads data into the 'IntellegenceMDataSet.Products' table. You can move, or remove it, as needed.

' Me.ProductsTableAdapter.Fill(Me.IntellegenceMDataSet.Products)

cn.Open()

da = New SqlDataAdapter("select * from invoices", cn)

da.Fill(ds, "invoices")

DataGridView1.DataSource = ds.Tables("invoices")

cn.Close()

End Sub

Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click

cn.Open()

Dim Invoice_id = Invoice_idTextBox.Text

Dim Foundation = TextBox1.Text

Dim date = DateDateTimePicker.DateTimePickerAccessibleObject

Dim name = NameTextBox.Text

Dim total = TotalTextBox.Text

Dim emp_name = NameTextBox1.Text

Dim icmd As String

icmd = " insert INTO invoices VALUES ('" & Invoice_id & "' , '" & Foundation & "', '" & Date & "', '" & name & "', '" & total & "' , '" & emp_name & "') "

MyCommand = New SqlCommand(icmd, cn)

Try

MyCommand.ExecuteNonQuery()

Catch c As Exception

MsgBox(c.ToString)

Finally

End Try

da = New SqlDataAdapter("select * from invoices", cn)

ds.Clear()

da.Fill(ds, "invoices")

DataGridView1.DataSource = ds.Tables("invoices")

cn.Close()

End Sub

Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click

cn.Open()

updatefields()

ds.Clear()

da.Fill(ds, "invoices")

DataGridView1.DataSource = ds.Tables("invoices")

cn.Close()

End Sub

Private Function DataGridView1() As Object

Throw New NotImplementedException

End Function

Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button14.Click

deletefield()

da = New SqlDataAdapter("select * from invoices", cn)

ds.Clear()

da.Fill(ds, "invoices")

DataGridView1.DataSource = ds.Tables("invoices")

MsgBox("رقم فاتورة " + Invoice_idTextBox.Text + " تم حذفه", MsgBoxStyle.Information, "تنويه")

cn.Close()

End Sub

Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click

clear()

End Sub

Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click

Dim ChildForm As New Form2

' Make it a child of this MDI form before showing it.

ChildForm.MdiParent = MDIParent1

' m_ChildFormNumber += 1

'ChildForm.Text = "Window " & m_ChildFormNumber

ChildForm.Show()

End Sub

Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click

If Invoice_idTextBox.Text = "" Then

MsgBox("الرجاء تحديد رقم الفاتورة ")

Else

fillform()

End If

End Sub

Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click

frm_main.Show()

Me.Close()

End Sub

End Class

ابغى اعرف اش الخطا في كوود

bMQ42206.png

تم تعديل هذه المشاركة بواسطة جنوبيه في 15 مايو 2011 في 10:07

#2

السلام عليكم ورحمه الله وبركاته

اختي لصقتي الكود كله؟!! ممكن تقولي لي ايش رسالة الخطأ قبل ما ابدأ في تحليله كله!!

.:: Wish to become better and better ::.

#3

والله ياخوي عرفة اش الخطا لي

احنا مسوينه لاننا راح نحتاج لاكثر من جدول

يعنى احنا الحين مسوين شاشه لبحث للفواتير

ونبي حقول معينه تظهر على DataGridView

والحقول اللى نبيها تظهر في DataGridView

( رقم الفاتوه _اسم العميل_اسم الموظف_تاريخ_رقم الصنف_ اسم الصنف _الكميه _ الاجمالي)

يعنى الحين عندنا 4 جداول نبي ناخذ من كل جدول حقل معين

ونبي كووود يجمع كل الحقول الموجوده في DataGridView ؟؟؟

هذا هو الخطا اللى طلع لاني ما عرفة اكتب كووود يجمع كل هذي جداول

#4

السلام عليكم ورحمه الله وبركاته

اختي سويت لك كود يوضح الفكره حاولي تستعيني به


Dim conn As New SqlConnection("ConnectionString")
Dim adpt As New SqlDataAdapter("Select Customers.Name,Employees.Name,Products.ID,Products.Name,Orders.Quantity,Orders.ID From Customers,Employees,Products,Orders",conn)
Dim ds As New DataSet()
adpt.Fill(ds)
DataGridView1.DataSource=ds.Tables(0)

.:: Wish to become better and better ::.

#5

Imports System.Data.SqlClient

Public Class Form2

Dim MyCommand

Dim ds As New DataSet

Dim da 'As New SqlDataAdapter("Select invoices.invoice_id,Customers.Name,Employees.Name,Products.ID,Products.Name,Orders.Quantity,Orders.ID From invoices,Customers,Employees,Products,Orders"cn)

Dim MyReader As SqlDataReader

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

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

ds.Clear()

cn.Open()

MyCommand = New SqlCommand("Select invoices.invoice_id,Customers.Name,Employees.Name,Products.ID,Products.Name,Orders.Quantity,Orders.ID From invoices,Customers,Employees,Products,Orders WHERE invoice_id ='" & TextBox1.Text & "'", cn)

da = New SqlDataAdapter(MyCommand)

da.Fill(ds, "invoices,Customers,Employees,Products,Orders")

DataGridView1.ReadOnly = True

DataGridView1.DataSource = ds.Tables(0)

cn.Close()

MyCommand.Dispose()

da.Dispose()

ds.Dispose()

End Sub

طريقة كتابتي للكود صح ولا غلط

انا لما كتب الكود طلع الغلط عندي

da.Fill(ds, "invoices,Customers,Employees,Products,Orders")

وهذي صوره للشاشه البحث عن فواتير

VkL62849.png

بس الله يخليك ياخوي عجل في موضوع لانو الاستاذه تبي تشوف شاشه يشتغل

وجزاك الله الف خير

الله يجعله من موازين حسناتك

#6

السلام عليكم ورحمه الله وبركاته

اختي قومي بتغيير التالي


da.Fill(ds, "invoices,Customers,Employees,Products,Orders")

الى


da.Fill(ds, "invoices")

.:: Wish to become better and better ::.

#7

معليش اخوي ازعجتك معايه

بس وربي مدري ليش يطلع خطا وسويت نفس الطريقه اللى قلت عليه وطلع لي

qvC33417.png

معليش اخوي بس ابغاك تشوف الاكووواد اللى كتبتها صح ولا غلط واذا فيه غلط قلي عليه

وشكرا

وجزاك الله الف خير

تم تعديل هذه المشاركة بواسطة جنوبيه في 17 مايو 2011 في 15:45

#8

السلام عليكم ورحمه الله وبركاته

اختي جربي

da.Fill(ds)

واذا ما ضبط ارفقي مشروعك للتعديل ...

.:: Wish to become better and better ::.

#9

والله ياخوي ما نزبط معايه ومني عااارفه اش اسوي

وكيف ارفق مشروعي للتعديل

معليش اخوي تعبتك معايه الله يجعله من موازين حسناتك

الف الف شكر لمساعدتك لي

وجزاك الله الف خير

#10

السلام عليكم ورحمه الله وبركاته

اختي قومي باختيار استخدام المحرر الكامل ومن ثم ارفقي المشروع مع قاعدة البيانات

.:: Wish to become better and better ::.

#11

السلام عليكم ورحمه الله وبركاته

اختي نزلت المشروع ولكن هناك الكثير من الاخطاء المهم في سؤالك الخطأ يكمن في السطر


da = New SqlDataAdapter("Select invoices.invoice_id,Customers.Name,Employees.Name,Products.ID,Products.Name,Orders.Quantity,Orders.ID From invoices,Customers,Employees,Products,Orders WHERE invoice_id ='" & TextBox1.Text & "'", cn)

لأنه لايوجد جدول اسمه invoices يوجد جدولين invoice_Details و invoice_header01 ؟؟ لذا يرجى اختيار الجدول المناسب

.:: Wish to become better and better ::.

#12

الحين ياخوي الخطا اللى انا كنت مسويته هو اسم الجدول invoices لانو مافي جدول اسمه كذا

وبدل ما نحط invoices نحط جدولين اللى مسوينه invoice_Details و invoice_header01

غيرت اسم جدول invoice_Details و invoice_header01 بس طلع خطا

gfa56202.png

ولا فيه اخطاء ثانيه اذا فيه قلي عليهم

وجزاك الله الف خير

تم تعديل هذه المشاركة بواسطة جنوبيه في 19 مايو 2011 في 01:13

#13

السلام عليكم ورحمه الله وبركاته

انا لاحظت الداله دي بس ايش عملها اختي عندك؟!!

1

.:: Wish to become better and better ::.

#14

اي داله ياخوي وضح لو سمحت

تم تعديل هذه المشاركة بواسطة جنوبيه في 19 مايو 2011 في 18:46

#15

السلام عليكم ورحمه الله وبركاته

اختي اقصد الداله invoice_header01 لأن الكود الذي تنفذه يجبر على حدوث خطأ؟!!

.:: Wish to become better and better ::.

#16

طيب ليش يجبر على حدوث خطا ممكن تفهمني

#17

السلام عليكم ورحمه الله وبركاته

اصلا اختي الكود الي في الداله throw exception يعني يعتبر هذا استثناء لذا لابد من معالجته ...

.:: Wish to become better and better ::.

مواضيع مشابهة