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

لدي مشكله في طريقه كتابه vb.net query

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

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

لدي مشكله في طريقه كتابه vb.net query

لدي في الاساس جدول باسم Table1

يحتوي على Quantity

اريد عندما اضغط على زر معين يعرض لي Quantity التي تساوي صفر يعرضها لي في نافذه

   Dim a As Integer
    'Dim SQL As String
   SQL = CInt("Select Quantity from Table1 where Quantity = 0")
    a = AscW(OleDbSelectCommand1.CommandText((SQL)))

  MessageBox.Show("test", CStr(a))
   a = AscW(OleDbSelectCommand1.CommandText(CInt("Select Quantity from Table1 where Quantity = 0")))

حاولت كتابة الجمله بعده طرق ولا فائده

الطريقه الاخرى

 ' Query for check Quantity =0

    Dim a As Integer
    Dim SQL = From a In Table1 _
   Where (a.Quantity = 0) _
   Select a

   AscW(OleDbSelectCommand1.CommandText(CInt(SQL)))
   MessageBox.Show("test", CStr(SQL))

ارجوا مساعدتي بوركتم

" مِنْ أَعْظَمْ مَاتَتَقَرْبْ بِهِ إلَى الله أَنْ يَكُوْنْ بَيْنَكَ وَ بَيْنَ الله سَرِيْرَةْ لا يَعْلَمُهَا أَحْدْ مِنْ الخَلْقْ,

تَدّخِرْهَا لِنَفْسِكْ بَيْنَ يَدّيْ الله فِيْ أَحْوَجْ مَاتَكُوْنْ إِلَيْهْ إلَى مَايَكْسِيْ

عَوْرَتَكْ , وَيُطْفِئْ ظَمَأكْ , وَيَجْعَلَكَ تَحْتَ ظِلِ عَرْشِهْ يَوْمَ لَاظِلَ إِلِا ظِلّهْ" .. !

ابن القيم - رحمه الله -

#2

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

اختي يمكنك استخدام الاجراء ExecuteReader لقراءة البيانات وقمي بعرضها في DataGridView,كما يمكنك استخدام الـ DataSet شوفي الكود التالي

Dim conn As New OleDBConnection("ConnectionString")
Dim adpt As New OleDBDataAdapter("Select Quantity from Table1 where Quantity = 0",conn)
Dim ds As New DataSet()
adpt.Fill(ds)
DataGridView1.DataSource=ds.Tables(0)

تم تعديل هذه المشاركة بواسطة VB Helper في 17 ديسمبر 2011 في 18:04

1

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

#3

بارك الله فيك

لكن تظهر لدي اخطأ

17_12_1113241174841.png

اريد على الاقل القاعده الاساسية لتكوين الربط

واظهار النتيجه في "MessageBox"

" مِنْ أَعْظَمْ مَاتَتَقَرْبْ بِهِ إلَى الله أَنْ يَكُوْنْ بَيْنَكَ وَ بَيْنَ الله سَرِيْرَةْ لا يَعْلَمُهَا أَحْدْ مِنْ الخَلْقْ,

تَدّخِرْهَا لِنَفْسِكْ بَيْنَ يَدّيْ الله فِيْ أَحْوَجْ مَاتَكُوْنْ إِلَيْهْ إلَى مَايَكْسِيْ

عَوْرَتَكْ , وَيُطْفِئْ ظَمَأكْ , وَيَجْعَلَكَ تَحْتَ ظِلِ عَرْشِهْ يَوْمَ لَاظِلَ إِلِا ظِلّهْ" .. !

ابن القيم - رحمه الله -

#4

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

أختي ازيلي رقم 2 من هذا السطر لانه خطأ -مطبعي- غير مقصود :)

Dim ds As New2 DataSet()

Dim conn As New OleDBConnection("ConnectionString")

أختي الاخ هنا يقصد أن تضعي مكان (ConnectionString) جملة الاتصال وليس "ConnectionString ".

على سبيل المثال :

جملة الاتصال بقاعدة بيانات من نوع Ms Access 2007 هي

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=DBName.accdb"

تمنياتي لك بالتوفيق.

تم تعديل هذه المشاركة بواسطة Rose Muhammed في 17 ديسمبر 2011 في 14:09

1

((إِنَّ اللَّهَ وَمَلائِكَتَهُ يُصَلُّونَ عَلَى النَّبِيِّ يَا أَيُّهَا الَّذِينَ آمَنُوا صَلُّوا عَلَيْهِ وَسَلِّمُوا تَسْلِيمًا))

#5

اشكرك اختي ولكن مازلت تظهر لدي هذه المشكله

وهل وضعي للكود تحت Button1_Click يعتبر صحيح

17_12_1113241256271.png

الكود هنا باكمله

Option Strict On
Option Explicit On
Imports System
Imports System.Collections
Imports System.Data
Imports System.IO
Imports System.Xml.Serialization
Imports System.Windows.Forms
Imports System.Data.SqlClient
Imports System.Data.OleDb.OleDbCommand
Imports System.Data.OleDb

Public Class Form1

    Private Sub OleDbConnection1_InfoMessage(ByVal sender As System.Object, ByVal e As System.Data.OleDb.OleDbInfoMessageEventArgs) Handles OleDbConnection1.InfoMessage

    End Sub

    Private Sub DataGrid1_Navigate(ByVal sender As System.Object, ByVal ne As System.Windows.Forms.NavigateEventArgs) Handles DataGrid1.Navigate

    End Sub

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim pintRecords As Integer
        pintRecords = OleDbDataAdapter1.Fill(DataSet11)

    End Sub

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


        Dim conn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=DBName.accdb")
        Dim adpt As New OleDbDataAdapter("Select Quantity from Table1 where Quantity = 0", conn)
        Dim ds As New DataSet()
        adpt.Fill(ds)
        DataGridView1.DataSource = ds.Tables(0)
    End Sub
End Class

واذا سمحتي احتاج جملة الاتصال بقاعدة بيانات من نوع Ms Access 2003

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

" مِنْ أَعْظَمْ مَاتَتَقَرْبْ بِهِ إلَى الله أَنْ يَكُوْنْ بَيْنَكَ وَ بَيْنَ الله سَرِيْرَةْ لا يَعْلَمُهَا أَحْدْ مِنْ الخَلْقْ,

تَدّخِرْهَا لِنَفْسِكْ بَيْنَ يَدّيْ الله فِيْ أَحْوَجْ مَاتَكُوْنْ إِلَيْهْ إلَى مَايَكْسِيْ

عَوْرَتَكْ , وَيُطْفِئْ ظَمَأكْ , وَيَجْعَلَكَ تَحْتَ ظِلِ عَرْشِهْ يَوْمَ لَاظِلَ إِلِا ظِلّهْ" .. !

ابن القيم - رحمه الله -

#6

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

جملة الاتصال بـ Access 2003

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=YOURDBNAME.mdb"

ملاحظات:

* إذا كانت قاعدة البيانات داخل المجلد \Bin\Debug مباشرةً اكتبي اسم قاعدة البيانات و إن لم يكن كذلك اكتبي المسار كامل .

*اكتبي اسم قاعدة البيانات عندكِ مكان YOURDBNAME .

*لماذا اخفيتي الفورم ؟! لن تظهر البيانات .

أتمنى تكون وصلت لك الفكرة.

((إِنَّ اللَّهَ وَمَلائِكَتَهُ يُصَلُّونَ عَلَى النَّبِيِّ يَا أَيُّهَا الَّذِينَ آمَنُوا صَلُّوا عَلَيْهِ وَسَلِّمُوا تَسْلِيمًا))

#7

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

شكر لك اخت Rose على الايضاح وبالفعل كان في كودي السابق خطأ غير مقصود, لكن تم تعديل الكود

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

#8

اذا قمت بعمل run يظهر لي جميع النتائج حتى لو كانت Quantity لا تساوي 0

:sad:

17_12_1113241386661.png

Option Strict On
Option Explicit On
Imports System
Imports System.Collections
Imports System.Data
Imports System.IO
Imports System.Xml.Serialization
Imports System.Windows.Forms
Imports System.Data.SqlClient
Imports System.Data.OleDb.OleDbCommand
Imports System.Data.OleDb

Public Class Form1

    Public Sub OleDbConnection1_InfoMessage(ByVal sender As System.Object, ByVal e As System.Data.OleDb.OleDbInfoMessageEventArgs) Handles OleDbConnection1.InfoMessage

    End Sub

    Public Sub DataGrid1_Navigate(ByVal sender As System.Object, ByVal ne As System.Windows.Forms.NavigateEventArgs) Handles DataGrid1.Navigate

    End Sub

    Public Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim pintRecords As Integer
        pintRecords = OleDbDataAdapter1.Fill(DataSet11)

    End Sub

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

    End Sub

    Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick

        Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DatabaseFridge.mdb")
        Dim adpt As New OleDbDataAdapter("Select Quantity from Table1 where Quantity = 0", conn)
        Dim ds As New DataSet()
        adpt.Fill(ds)
        DataGridView1.DataSource = ds.Tables(0)
    End Sub
End Class

" مِنْ أَعْظَمْ مَاتَتَقَرْبْ بِهِ إلَى الله أَنْ يَكُوْنْ بَيْنَكَ وَ بَيْنَ الله سَرِيْرَةْ لا يَعْلَمُهَا أَحْدْ مِنْ الخَلْقْ,

تَدّخِرْهَا لِنَفْسِكْ بَيْنَ يَدّيْ الله فِيْ أَحْوَجْ مَاتَكُوْنْ إِلَيْهْ إلَى مَايَكْسِيْ

عَوْرَتَكْ , وَيُطْفِئْ ظَمَأكْ , وَيَجْعَلَكَ تَحْتَ ظِلِ عَرْشِهْ يَوْمَ لَاظِلَ إِلِا ظِلّهْ" .. !

ابن القيم - رحمه الله -

#9

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

اختي الكود التالي في حدث الـ Load للفورم

Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DatabaseFridge.mdb")
Dim adpt As New OleDbDataAdapter("Select Quantity from Table1 where Quantity = 0", conn)
Dim ds As New DataSet()
adpt.Fill(ds)
DataGridView1.DataSource = ds.Tables(0)

ولا داعي لبقية الاحداث

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

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