C #: πώς να προσθέσετε 2 τιμές στο σύνθετο πλαίσιο από αποθηκευμένη διαδικασία

ψήφοι
0

Έχω δύο ερωτήσεις, πρώτα πώς να προσθέσετε 2 αξίες και το δεύτερο είναι το εξής: αν προσθέσουμε 2 τιμές γι 'αυτό πρέπει να αλλάξετε τον κωδικό όταν αποθηκεύετε combo-boxαξία στη βάση δεδομένων (δεύτερο ερώτημα με κωδικό ήθελα επίσης να ζητήσω από το τέλος αυτού του ερωτήματος);

Θα πρέπει να προσθέσετε 2 τιμές από τον πίνακα dep_Idκαι dep_Nameτο `σύνθετο πλαίσιο? σαν αυτό:

(Department ID: Department Name) 

Αυτή είναι η αποθηκευμένη διαδικασία:

CREATE PROCEDURE [dbo]. SelectComoboxData_SP
AS
    SELECT dep_Id, dep_Name 
    FROM department

    RETURN 0

Αυτή είναι η C # κώδικα:

public void updateDepartmentList()
{
    refresh_DataGridView();

    SqlCommand cmd = new SqlCommand(SelectComoboxData_SP, con);
    cmd.CommandType = CommandType.StoredProcedure;

    con.Open();

    try
    {
        SqlDataReader dr = cmd.ExecuteReader();

        while (dr.Read())
        {
            com_boxDepartment.Items.Add(dr[dep_Id]);
            com_boxDepartment.SelectedIndex = 0;
        }

        dr.Close();
    }
    catch (Exception ex)
    {
        MessageBox.Show(<<<INVALID SQL OPERATION \n + ex);
    }

    con.Close();
}

Επιτρέψτε μου επίσης να ξέρω πότε επιλέξετε οποιοδήποτε τμήμα από το σύνθετο πλαίσιο έτσι και τώρα έγραψα αυτόν τον κώδικα

cmd.Parameters.AddWithValue(@dId, com_boxDepartment.Text);

για την αποθήκευση του ταυτότητα, έτσι ώστε όταν προσθέτετε 2 τιμές σε combobox έτσι πρέπει να αλλάξει κάτι;

Δημοσιεύθηκε 20/10/2018 στις 12:48
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
0

Αν ήταν C μου # θα το έκανα περισσότερο σαν αυτό (αν και είχα χρησιμοποιήσει έντονα δακτυλογραφημένη σύνολα δεδομένων)

public void updateDepartmentList()
{
    refresh_DataGridView();

    SqlCommand cmd = new SqlCommand("SelectComoboxData_SP", con);
    cmd.CommandType = CommandType.StoredProcedure;

    SqlDataAdapter da = new SqlDataAdapter(cmd);
    DataTable dt = new DataTable();
    da.Fill(dt);

    com_boxDepartment.DataSource = dt;
    com_boxDepartment.DisplayMember = "dep_Name";
    com_boxDepartment.ValueMember = "dep_Id";
}

Combo σας θα δείξει «Τμήμα Ιστορίας», για παράδειγμα, αλλά όταν το ζητήσει η .SelectedValueθα επιστρέψει για παράδειγμα 2 (το id για το τμήμα της ιστορίας)

Απαντήθηκε 20/10/2018 στις 19:15
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more