开发者

Selected Text in combo box is not returning any value

开发者 https://www.devze.com 2023-01-27 02:45 出处:网络
I have a function to populate the list of all tables with primary keys in a selected db from a dropdown:

I have a function to populate the list of all tables with primary keys in a selected db from a dropdown:

public void PrimaryKeyTable()
{

    //An instance of the connection string is created to manage the contents of the connection string.

    var sqlConnection = new SqlConnectionStringBuilder();
    sqlConnection.DataSource = "192.168.10.3";
    sqlConnection.UserID = "gp";
    sqlConnection.Password = "gp";
    sqlConnection.InitialCatalog = Convert.ToString(cmbDatabases.SelectedValue);
    string connectionString = sqlConnection.ConnectionString;

    SqlConnection sConnection = new SqlConnection(connectionString);

    //To Open the connection.
    sConnection.Open();

    string selectPrimaryKeys = @"SELECT 
                                       TABLE_NAME 
                                   FROM
                                       INFORMATION_SCHEMA.TABLE_CONSTRAINTS 
                                  WHERE 
                                       CONSTRAINT_TYPE = 'PRIMARY KEY'
                               ORDER BY 
                                       TABLE_NAME";

    //Create the command object
    SqlCommand sCommand = new SqlCommand(selectPrimaryKeys, sConnection);

    try
        {
        //Create the dataset
        DataSet dsListOfPrimaryKeys = new DataSet("INFORMATION_SCHEMA.TABLE_CONSTRAINTS");

        //Create the dataadapter object
        SqlDataAdapter sDataAdapter = new SqlDataAdapter(selectPrimaryKeys, sC开发者_如何学Pythononnection);

        //Provides the master mapping between the sourcr table and system.data.datatable
        sDataAdapter.TableMappings.Add("Table", "INFORMATION_SCHEMA.TABLE_CONSTRAINTS");

        //Fill the dataset
        sDataAdapter.Fill(dsListOfPrimaryKeys);

        //Bind the result combobox with primary key tables
        DataViewManager dvmListOfPrimaryKeys = dsListOfPrimaryKeys.DefaultViewManager;
        cmbResults.DataSource = dsListOfPrimaryKeys.Tables["INFORMATION_SCHEMA.TABLE_CONSTRAINTS"];
        cmbResults.DisplayMember = "TABLE_NAME";
        cmbResults.ValueMember = "TABLE_NAME";
        }
    catch(Exception ex)
        {
        //All the exceptions are handled and written in the EventLog.
        EventLog log = new EventLog("Application");
        log.Source = "MFDBAnalyser";
        log.WriteEntry(ex.Message);
        }
    finally
        {
        //If connection is not closed then close the connection
        if(sConnection.State != ConnectionState.Closed)
            {
            sConnection.Close();
            }
        }
}

Now I wish to call this function a button click like this:

private void btnStartAnalysis_Click(object sender, EventArgs e)
    {
        //This is the function call for the primary key checking in DB
        PrimaryKeyTable();
    }

Its working fine but when I want to call it on the button click when a particular text is selected from the dropdown like this:

private void btnStartAnalysis_Click(object sender, EventArgs e)
    {
        //This is the function call for the primary key checking in DB
        if(cmbOperations.SelectedText == "PrimaryKeyTables")
            {
            PrimaryKeyTable();
            } 
    }

Then it's not giving any result...

Can anybody tell where I am going wrong?


Use SelectedItem instead of SelectedText. And then use ToString() to get the string value.


i think you should replace

if(cmbOperations.SelectedText == "PrimaryKeyTables")

with

if((string)cmbOperations.SelectedValue == "PrimaryKeyTables")
0

精彩评论

暂无评论...
验证码 换一张
取 消