利用存储过程:sp_pkeys,然后检查返回的列名:COLUMN_NAME
public bool IsPrimaryKey(String columnName,String tableName)
{
SqlParameter parameters = new SqlParameter;
parameters[0] = new SqlParameter("@table_name", tableName);
parameters = new SqlParameter("@table_owner", null);
parameters = new SqlParameter("@table_qualifier", null);
DataRowCollection drc = SqlHelper.ExecuteDataset(Common.GetConnString, CommandType.StoredProcedure, "sp_pkeys", parameters).Tables[0].Rows;
if (drc.Count==0 || (drc[0]["COLUMN_NAME"].ToString() != columnName))
return false;
else
return true;
}