Click here to Skip to main content
11,492,279 members (65,311 online)
Rate this: bad
Please Sign up or sign in to vote.
See more: SQL-Server .NET4
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.
Posted 4-Feb-13 20:44pm
Rate this: bad
Please Sign up or sign in to vote.

Solution 1

Abhijit Parab at 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.
Rate this: bad
Please Sign up or sign in to vote.

Solution 2

I got the answer......
da.MissingSchemaAction = MissingSchemaAction.AddWithKey;

It worked......

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

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 455
1 Maciej Los 306
2 Sascha Lefèvre 265
3 Andy Lanng 235
4 KarstenK 220
0 Sergey Alexandrovich Kryukov 9,943
1 OriginalGriff 8,610
2 Sascha Lefèvre 3,609
3 Maciej Los 3,372
4 Richard Deeming 2,440

Advertise | Privacy | Mobile
Web04 | 2.8.150520.1 | Last Updated 5 Feb 2013
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100