Click here to Skip to main content
15,608,989 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
I want to know column which has primary key defined in sql server database.
Following is my code

    SqlConnection con = new SqlConnection("Initial Catalog=Dbname; Data Source=MySqlServer; User=testuser; Password=pass123;");

    DataSet ds = new DataSet();

SqlCommand cmd = new SqlCommand("select * from TableName", con);
        cmd.CommandType = CommandType.Text;

        SqlDataAdapter da = new SqlDataAdapter(cmd);

        DataColumn[] columns;
        columns = ds.Tables[0].PrimaryKey;

        // Get the number of elements in the array.
         Response.Write("Column Count: " + columns.Length);
        for (int i = 0; i < columns.Length; i++)
            Response.Write(columns[i].ColumnName + columns[i].DataType);

In fact, i have defined one primary key on a column of

But my code returns zero count.
please correct me, if i am wrong and provide me alternative solution
thank is advance.

Share this answer
Abhijit Parab 5-Feb-13 2:21am    
i think u have not understood my questiom. i want to know which table has primary key.i am fetching tables in dataset, from that dataset i want to know which table has primary key and count of the primary keys. i want logic in .net.
I got the answer......
da.MissingSchemaAction = MissingSchemaAction.AddWithKey;


It worked......
Share this answer

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900