2010-12-02 89 views
0

我正在处理桌面应用程序,该应用程序返回此函数在datagrid中具有外键的表的列表。如何统计行数并显示它

 public void GetPrimaryKeyTable() 

     { 

     //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(); 

     //Query to select the table_names that have PRIMARY_KEYS. 
     string selectPrimaryKeys = @"SELECT 
              TABLE_NAME 
             FROM 
              INFORMATION_SCHEMA.TABLE_CONSTRAINTS 
             WHERE 
              CONSTRAINT_TYPE = 'PRIMARY KEY' 
             AND 
              TABLE_NAME <> 'dtProperties' 
            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, sConnection); 

      //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; 
      dgResultView.DataSource = dsListOfPrimaryKeys.Tables["INFORMATION_SCHEMA.TABLE_CONSTRAINTS"]; 
      } 
     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.Dispose(); 
       } 
      } 
     } 

现在我想数着属于这一类的表的数量,并在lablel这一饱受表在这个类别中显示它..

你们可以帮我

+0

计数? title!= description – 2010-12-02 05:44:29

回答