منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
مساعدة فى سى شارب ضرورى جدا - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة السي شارب C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=175)
+--- قسم : قسم اسئلة C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=176)
+--- الموضوع : مساعدة فى سى شارب ضرورى جدا (/showthread.php?tid=47970)



مساعدة فى سى شارب ضرورى جدا - said-12 - 24-02-24

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

لو سمحتوا تعبت من البحث في المنتديات العربية والانجليزية  


السؤال هو كالتالي :- 

قاعدة البيانات :  SQL Server Management Studio 2012 

إسـم قاعدة البيانات : Reporting_System

فيها جدولينا : 

 الجدول الأول اسمه : الدول .  والحقول  : CountryID و CountryName

الجدول الثاني فيه : المدن . والحقول : CityID  , CityName , CountryID

تم انشاء علاقة بين الجدولين : 



 [url=http://www.up-00.com/][/url]






صممت الفورم وتم الاتصال بقاعدة البيانات بنجاح لكن المشكلة كالتالي : 

لدي عدد 2 Combobox 

Combobox 1 = Countries 

Combobox 2 = Cities


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


كل [b]Combobox فى فورم لوحدة اللغة المستخدمة سى شارب و طريقة العمل بالاستور بروسدجر و كل فورم لية كلاس [/b]

ساعدوني بلييييز .... 


RE: مساعدة فى سى شارب ضرورى جدا - justforit - 03-03-24

اجراء عرض كل بيانات الدول:
PHP كود :
USE [Reporting_System]
GO
/****** Object:  StoredProcedure [dbo].[All_Countries]    Script Date: 3/3/2024 8:45:23 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure 
[dbo].[All_Countries]
as
begin
select 
from Countries 
end

اجراء عرض الحقول المرتبطة من جدول المدن:
PHP كود :
USE [Reporting_System]
GO
/****** Object:  StoredProcedure [dbo].[GetCities]    Script Date: 3/3/2024 8:46:37 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure 
[dbo].[GetCities]
@
CountryID int
as
begin
select 
from Cities where CountryID=@CountryID
end

التالي اجراءات الموجودة بالفورم الاول:
PHP كود :
 private void button1_Click(object senderEventArgs e)
 
 {
 
     Myclass c = new Myclass();
 
     string mystr c.str;
 
     SqlConnection conn = new SqlConnection(mystr);
 
     try {
 
        
          if 
(conn.State == ConnectionState.Closed ) { conn.Open(); }
 
         SqlCommand cmd = new SqlCommand("",conn);
 
         cmd.CommandText "All_Countries";
 
         cmd.CommandType CommandType.StoredProcedure;
 
        SqlDataReader dr cmd.ExecuteReader();
 
         if (dr.HasRows )
 
         {
 
             DataTable dt = new DataTable();
 
             dt.Load(dr);
 
             cbxcountries.DataSource dt;
 
             cbxcountries.DisplayMember "CountryName";
 
             cbxcountries.ValueMember "CountryId";
 
         }
 
         dr.Close();
 
         
          if 
(conn.State == ConnectionState.Open  ) { conn.Close(); }



 
     
 
     catch(Exception ex) {
 
         MessageBox.Show(ex.Message );
 
              

  
}

 
 private void cbxcountries_SelectedIndexChanged(object senderEventArgs e)
 
 {
 
     string index=cbxcountries.SelectedValue.ToString();
 
     try
      
{
 
         Myclass c = new Myclass();
 
         string mystr c.str;
 
         SqlConnection conn = new SqlConnection(mystr);
 
         if (conn.State == ConnectionState.Closed) { conn.Open(); }
 
         SqlCommand cmd = new SqlCommand(""conn);
 
         cmd.CommandText "GetCities";
 
         cmd.CommandType CommandType.StoredProcedure;
 
         cmd.Parameters.AddWithValue("@CountryID"index);
 
         SqlDataReader dr cmd.ExecuteReader();
 
         if (dr.HasRows)
 
         {
 
             DataTable dt = new DataTable();
 
             dt.Load(dr);
 
            
              Form2 f2 
= new Form2();
 
            f2.cbxcities.DataSource dt;
 
             f2.cbxcities.DisplayMember "CityName";
 
             f2.cbxcities.ValueMember "CityID";
 
             f2.Show();
 
         }
 
         dr.Close();
 
     }
 
     catch (Exception ex)
 
     {

 
        
      
}


 
 



RE: مساعدة فى سى شارب ضرورى جدا - Kamil - 09-06-24

هذا من مشروع كنت اعمل عليه

PHP كود :
CREATE PROCEDURE GetCountries
AS
BEGIN
    SELECT CountryID
CountryName FROM Countries;
END

إجراء لجلب المدن بناءً على الدولة
:

CREATE PROCEDURE GetCitiesByCountry
    
@CountryID INT
AS
BEGIN
    SELECT CityID
CityName FROM Cities WHERE CountryID = @CountryID;
END

 لملء ComboBox والتفاعل مع اختيار المستخدم
الكود الخاص بالفورم
:

using System;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;

public 
partial class MainForm Form
{
 
   private string connectionString "YourConnectionStringHere";

 
   public MainForm()
 
   {
 
       InitializeComponent();
 
       LoadCountries();
 
   }

 
   private void LoadCountries()
 
   {
 
       using (SqlConnection conn = new SqlConnection(connectionString))
 
       {
 
           using (SqlCommand cmd = new SqlCommand("GetCountries"conn))
 
           {
 
               cmd.CommandType CommandType.StoredProcedure;
 
               SqlDataAdapter adapter = new SqlDataAdapter(cmd);
 
               DataTable countries = new DataTable();
 
               adapter.Fill(countries);
 
               comboBoxCountries.DisplayMember "CountryName";
 
               comboBoxCountries.ValueMember "CountryID";
 
               comboBoxCountries.DataSource countries;
 
           }
 
       }
 
   }

 
   private void comboBoxCountries_SelectedIndexChanged(object senderEventArgs e)
 
   {
 
       if (comboBoxCountries.SelectedValue != null)
 
       {
 
           int countryID Convert.ToInt32(comboBoxCountries.SelectedValue);
 
           LoadCities(countryID);
 
       }
 
   }

 
   private void LoadCities(int countryID)
 
   {
 
       using (SqlConnection conn = new SqlConnection(connectionString))
 
       {
 
           using (SqlCommand cmd = new SqlCommand("GetCitiesByCountry"conn))
 
           {
 
               cmd.CommandType CommandType.StoredProcedure;
 
               cmd.Parameters.AddWithValue("@CountryID"countryID);
 
               SqlDataAdapter adapter = new SqlDataAdapter(cmd);
 
               DataTable cities = new DataTable();
 
               adapter.Fill(cities);
 
               comboBoxCities.DisplayMember "CityName";
 
               comboBoxCities.ValueMember "CityID";
 
               comboBoxCities.DataSource cities;
 
           }
 
       }
 
   }