Saturday, June 2, 2007

[C#] Get Primary Column

private string GetPrimaryField(string tableName)
{
string query =
"SELECT c.COLUMN_NAME "
+ "FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk, "
+ "INFORMATION_SCHEMA.KEY_COLUMN_USAGE c "
+ "WHERE pk.TABLE_NAME = '" + tableName + "' "
+ "AND CONSTRAINT_TYPE = 'PRIMARY KEY' "
+ "AND c.TABLE_NAME = pk.TABLE_NAME "
+ "AND c.CONSTRAINT_NAME = pk.CONSTRAINT_NAME ";

SqlCommand cmd = new SqlCommand(query, conn);

object result = cmd.ExecuteScalar();

if (result != null)
return (string)result;
else return "";

}